繁体   English   中英

如何使用IE 7的javascript计算HTML中的列表项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM