![](/img/trans.png)
[英]Looping Through Multidimensional Array to iterate each item in javascript
[英]Looping through a javascript array to check each item for certain children elements
我正在尝试循环浏览网页并根据具有类'award-winner-wrapper'的元素中具有类'award-winner'的孩子的数量来更改某些样式。 目前,我已经能够使用它检查网页的父元素。
<div class="award-winner-wrapper">
<h2>Heading></h2>
<p>Paragraph content</p>
<p>Paragraph content</p>
<div class="award-winner'></div>
</div>
<div class="award-winner-wrapper">
<h2>Heading></h2>
<p>Paragraph content</p>
<p>Paragraph content</p>
<div class="award-winner'></div>
</div>
<div class="award-winner-wrapper">
<h2>Heading></h2>
<p>Paragraph content</p>
<p>Paragraph content</p>
<div class="award-winner'></div>
<div class="award-winner'></div>
</div>
let parents = document.querySelectorAll('.award-winner-wrapper');
let pArray = Array.from(parents)
我遇到的问题是使用 foreach 循环来检查“获奖者”类的每个数组项,并且该类是否有 2 个或更多元素会更改某些样式。
只需遍历您的parents
NodeList (此处使用NodeList.forEach()
)并使用querySelectorAll()
在这里查询父级的相关子级,并使用classList.add()
添加一个类
let parents = document.querySelectorAll('.award-winner-wrapper'); parents.forEach(parent => { if (parent.querySelectorAll('.award-winner').length > 1){ parent.classList.add('winner'); } });
.winner { background-color: aquamarine; }
<div class="award-winner-wrapper"> <h2>Heading></h2> <p>Paragraph content</p> <p>Paragraph content</p> <div class="award-winner"></div> </div> <div class="award-winner-wrapper"> <h2>Heading></h2> <p>Paragraph content</p> <p>Paragraph content</p> <div class="award-winner"></div> </div> <div class="award-winner-wrapper"> <h2>Heading></h2> <p>Paragraph content</p> <p>Paragraph content</p> <div class="award-winner"></div> <div class="award-winner"></div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.