![](/img/trans.png)
[英]How to change the style of HTML list items using setInterval in JavaScript?
[英]How to count list items in HTML by using javascript for IE 7
我正在尝试运行一个JavaScript,它将向我返回div中的列表(li)项计数。 我尝试使用各种脚本,但在IE 7中无法正常工作。
HTML-
<ul class="ABC">
<li>1</li>
<li>2</li>
</ul>
Javascript- document.querySelectorAll('ul.ABC li').length
。 这应该返回2,但在IE 7中不起作用。
我知道IE7不支持查询选择器,我正在寻找可以做到这一点的简单脚本。 有谁知道我如何在IE 7中实现?
谢谢!
如果可以将ID分配给列表,则会更容易:
<ul id="mylist">
然后,您可以执行以下操作:
document.getElementById('mylist').children.length;
如果这不是您的选择,则需要更高级和更复杂的东西:
function searchTagsForClass(tagName,className) {
var tags = document.getElementsByTagBame(tagName), l = tags.length, i,
match = new RegExp("\\b"+className+"\\b","i");
for( i=0; i<l; i++) {
if( tags[i].className.match(match)) return tags[i];
}
}
searchTagsForClass("ul","ABC").children.length;
如您所说,IE7不支持querySelectorAll
。
如果您不能(或不想)通过使用ID或其他一些更简单的方式来选择relevent元素来解决它,那么您将需要使用polyfill。
您可能要尝试使用此polyfill脚本 , 该脚本声称针对旧IE版本实现了querySelectorAll
等功能。
另外,总是有无处不在的jQuery。 只需包括jQuery并用$('ul.ABC li')
替换您的querySelector代码,即可完成工作。
jQuery存在的历史原因是简化这样的跨浏览器。 如果您需要支持IE7,则有很多使用jQuery的充分理由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.