这是我的代码:
<html>
<head>
<script type="text/javascript">
var x= document.getElementById("2").value;
document.getElementById("1").innerHtml = x;
</script>
</head>
<body>
<p hidden="hidden" id="2">This paragraph should be hidden.</p>
<p>This is a visible paragraph.</p>
<p><b>Note:</b> The hidden attribute is not supported in IE.</p>
<p id="1"></p>
</body>
</html>
在这段代码中,您可以看到一个隐藏标签。我希望JavaScript代码读取ID为
p
的2
标记的文本值,然后将相同的值打印到带有<p>
的其他id="1"
标记。但这是行不通的。早些时候我什至尝试使用nodeValue
,但这也无法正常工作,当我在Google Developer工具中签出时,它显示了如下错误:无法读取null的属性“ value / nodeValue”
请注意:
经过快速实验后,我注意到在添加事件处理程序
<body onload="y();>"
之后没有错误,但是没有预期的结果!请帮忙!
最佳答案
存在三个问题:
没有innerHtml,innerHTML是正确的语法。
隐藏的“ p”没有值,它不是输入字段。使用innerHTML进行访问。
您的javascript代码会在浏览器了解paragrap之前运行,因此当您希望对其进行访问时它们就不存在。在段落后放置javascript或在页面加载后运行代码。
这应该工作:
<html>
<head>
</head>
<body>
<p hidden="hidden" id="2">This paragraph should be hidden.</p>
<p>This is a visible paragraph.</p>
<p><b>Note:</b> The hidden attribute is not supported in IE.</p>
<p id="1"></p>
<script type="text/javascript">
var x= document.getElementById("2").innerHTML;
document.getElementById("1").innerHTML = x;
</script>
</body>
</html>