gpt4 book ai didi

IE7 中的 JavaScript 求模运算

转载 作者:行者123 更新时间:2023-12-02 19:59:49 24 4
gpt4 key购买 nike

为了向列表中的每三个项目添加一个类,我使用如下的模运算:

var projectElements = document.getElementById("projectList").children;
var iCount = 0;
for (var i in projectElements) {
iCount++;
if (iCount % 3 == 0) {
if (projectElements[i].className == "") {
projectElements[i].className += "projectLinkLast";
}
else {
projectElements[i].className += " projectLinkLast";
}
}
}

它在 Firefox 和除 Internet Explorer 7 之外的其他浏览器中运行良好。有人知道为什么吗?

最佳答案

问题不在于模运算符。问题可能是您在宿主对象(在本例中为元素的 children 属性)上使用 for...in ,这是一个坏主意,而不是保证按照您的预期工作(或者根本不工作)。此外,并非所有浏览器都支持 children(尽管 IE 7 中支持,所以这不是该浏览器中的问题)。我建议改为以下内容:

var iCount = 0, child = document.getElementById("projectList").firstChild;
while (child) {
if (child.nodeType == 1) { // Only deal with elements
iCount++;
if (iCount % 3 == 0) {
if (child.className == "") {
child.className = "projectLinkLast";
}
else {
child.className += " projectLinkLast";
}
}
}
child = child.nextSibling;
}

关于IE7 中的 JavaScript 求模运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com