我无法在Chrome中正常运行代码,但是当我将代码粘贴到JSFIDDLE中时,它可以正常工作。我试图使用getElementsByClassName获取文档中的所有ul标签,然后在其中一个uls中获取所有lis。当我使用getElementsByClassName(“ul”)时,它在Chrome中找不到任何东西,但是如果我在uls getElementsByClassName(“ul”)找到所有这些之前删除两个div中的任何一个,那么div似乎是破坏JS的东西
我无法在JSFIDDLE中重现问题,因为代码在那里正常工作但是在这里:http://jsfiddle.net/zTP9H/
var sElements = document.getElementsByClassName("HeaderWrapWide");
var catOne = document.getElementsByTagName("ul");
alert("number of ul: " + catOne.length);
var liTags = catOne[3].getElementsByTagName("li");
alert("number of li: " + liTags.length);
由于
亚历
答案 0 :(得分:2)
你确定在html被添加到页面后运行这个javascript吗? jsfiddle可能以不同的方式呈现html / scripts到您的网页,因此这就是它在那里工作的原因。如果您的javascript位于HTML的主要部分,您可能会遇到这种情况 - 尝试在文档就绪函数http://api.jquery.com/ready/上使用jquery或将JS移动到页面底部
我看不出你的代码有什么问题
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您想执行print
中的代码
就像你拥有它一样,然后尝试将代码包装在一个中
如果你不想使用jQuery,那就是这样的功能
此外,这在IE中不起作用,因此请检查caniuse.com/#search=DOMContentLoaded
<head></head>