为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码有问题吗?为什么在浏览器中无法输出?

这段代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>节点属性</title>
    <script type="text/javascript">
        var mychar = document.getElementsByTagName("p");
        var val;
        for (var i = 0; i < mychar.length; i++) {
            val = mychar[i].nodeName;
            document.write("p标签的节点名称是:" + val + "<br />");
        }
    </script>
</head>
<body>
    <p id="p1">I love JavaScript!</p>
</body>
</html>

为什么浏览器只显示p段落的内容,JS里面需要输出的内容怎么不显示?

正在回答

3 回答

交换一下代码顺序:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>节点属性</title>

</head>

<body>

    <p id="p1">I love JavaScript!</p>

    <script type="text/javascript">

        var mychar = document.getElementsByTagName("p");

        var val;

        for (var i = 0; i < mychar.length; i++) {

            val = mychar[i].nodeName;

            document.write("p标签的节点名称是:" + val + "<br />");

        }

    </script>

</body>

</html>


你一开始那样,js运行得时候还没有p标签(后面加载),所以把JS放在后面就可以了。

1 回复 有任何疑惑可以回复我~
#1

爱慕课啊 提问者

哦,想了好久,原来是这样呢。谢谢!
2016-11-04 回复 有任何疑惑可以回复我~

除了调用事件,其他都要注意JS代码所处的位置问题

0 回复 有任何疑惑可以回复我~

把 js 代码放在 p 标签下面,

或者写个方法把js代码包裹起来

	<script type="text/javascript">
		window.onload = function() {
			var mychar = document.getElementsByTagName("p");
			var val;
			for (var i = 0; i < mychar.length; i++) {
				val = mychar[i].nodeName;
				document.write("p标签的节点名称是:" + val + "<br />");
			}
		}
	</script>


0 回复 有任何疑惑可以回复我~
#1

爱慕课啊 提问者

嗯嗯,谢谢!
2016-11-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这段代码有问题吗?为什么在浏览器中无法输出?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信