这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title> sample </title>
<script>
var para = document.getElementsByTagName("p")[0]; // First <p> in the document
var text = para.textContent; // Text is "This is a simple document."
para.textContent = "Hello World!"; // Alter paragraph content
</script>
</head>
<body>
<p> This is a simple document. </p>
</body>
</html>
根据我用来学习javascript的书,这应该将标记内的文本更改为“ Hello World!”。但我不明白为什么它不起作用。
最佳答案
因此,您的代码尝试访问尚未呈现的元素。为了解决此问题,您可以使用以下代码:
window.addEventListener('load', function() {
var para = document.getElementsByTagName("p")[0]; // First <p> in the document
var text = para.textContent; // Text is "This is a simple document."
para.textContent = "Hello World!"; // Alter paragraph content
}, false);
Link to fiddle.
因此,在此代码中,我们为Windows load事件附加了事件侦听器。完成窗口加载(所有元素由浏览器呈现)后,将触发此事件。
关于javascript - Javascript:textContent和getElementsByTagName在我的代码中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26184904/