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不会保持默认颜色。只有中间应该变成红色,但事实并非如此。
答案 0 :(得分:6)
您想使用“或”代替“and”:
allHTMLElements[i].getAttribute("group") || allHTMLElements[i].getAttribute("index")
答案 1 :(得分:2)
你的if语句应该是ORing他们,而不是ANDing他们
答案 2 :(得分:2)
问题是当您使用&&
||
if (allHTMLElements[i].getAttribute("group") || allHTMLElements[i].getAttribute("index")) continue;