繁体   English   中英

此JavaScript代码有什么问题?

[英]What's wrong with this JavaScript code?

var allHTMLElements = document.body.getElementsByTagName("*");
for (var i = 0; i < allHTMLElements.length; i++) {
    if (allHTMLElements[i].getAttribute("group") && allHTMLElements[i].getAttribute("index")) continue;
    allHTMLElements[i].style.color = "red";
}

<div group="myGroup">Hello</div>
<div>Hello</div>
<div index="d534">Hello</div>

所有的div变为红色,具有组和索引的div保持默认颜色。 只有中间应该变成红色,但是没有。

您要使用“或”而不是“和”:

allHTMLElements[i].getAttribute("group") || allHTMLElements[i].getAttribute("index")

您的if语句应该对它们进行“或”运算,而不是对它们进行“与”运算

问题是,您使用的是&&时,你应该用||

if (allHTMLElements[i].getAttribute("group") || allHTMLElements[i].getAttribute("index")) continue;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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