如何用querySelector筛选不含v2l-hidden类的元素?
筛选不包含指定类的元素
你可以用CSS的:not()伪类排除带v2l-hidden类的元素,修改后的JavaScript代码如下:
// 获取所有符合条件的元素 const targetElements = document.querySelectorAll(".v2l-fileinput-filelist .include-warning:not(.v2l-hidden)"); // 若要获取第一个元素的内容 if (targetElements.length > 0) { console.log(targetElements[0].innerHTML); // 输出 "3" }
选择器说明
.v2l-fileinput-filelist:限定父容器范围,避免选中页面其他位置的同类元素.include-warning:not(.v2l-hidden):选中拥有include-warning类,但不包含v2l-hidden类的元素
结合你的HTML结构,这个选择器会精准匹配第三个和第四个<li>元素(内容为3和4的项)。
你的HTML结构参考:
<ul class="v2l-fileinput-filelist"> <li id="d2l_3_0_437" data-v2l-name="assdf.jpg" class="include-warning v2l-hidden">1</li> <li id="d2l_3_0_427" data-v2l-name="adsdassdf.jpg" class="include-warning v2l-hidden">2</li> <li id="d2l_3_0_457" data-v2l-name="f.jpg" class="include-warning">3</li> <li id="d2l_3_0_47" data-v2l-name="ssdf.jpg" class="include-warning">4</li> </ul>
内容的提问来源于stack exchange,提问作者Vzupo
相关产品推荐
相关产品推荐

