作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理一个页面,其中列表中的所选元素的特点是没有给定的类。类似于以下内容:
<ul>
<li class="a">not selected</li>
<li class="a b">selected</li>
<li class="a">not selected</li>
</ul>
我想定义一个 CSS 选择器来获取页面中只有 a 类的 li 节点。毫不奇怪,以下声明是不够的:
document.querySelectorAll('li.a')
因为它返回具有 a 类的所有 li 节点。
对这种情况有经验吗?
最佳答案
在这种情况下,您可以考虑这样的属性选择器:
console.log(document.querySelectorAll('li[class="a"]').length)
li[class="a"] {
color:red;
}
<ul>
<li class="a">Select me</li>
<li class="a b c d more classes">Don't select me</li>
<li class="a b">Don't select me</li>
<li class="a">Select me</li>
</ul>
只需注意多余的空格:
console.log(document.querySelectorAll('li[class="a"]').length)
li[class="a"] {
color:red;
}
<ul>
<li class="a ">Pay attention to this one !!</li>
<li class="a b">Don't select me</li>
<li class="a">Select me</li>
</ul>
但由于您使用的是 JS,因此您可以使用 trim()
摆脱多余的空间:
var elem=document.querySelectorAll('li');
for(var i=0;i<elem.length;i++)
elem[i].className=elem[i].className.trim();
console.log(document.querySelectorAll('li[class="a"]').length)
li[class="a"] {
color:red;
}
<ul>
<li class="a ">Pay attention to this one !!</li>
<li class="a b">Don't select me</li>
<li class="a">Select me</li>
</ul>
关于javascript - 独家 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52557181/
我正在处理一个页面,其中列表中的所选元素的特点是没有给定的类。类似于以下内容: not selected selected not selected 我想定义一个 CSS 选择器来获取
我正在尝试为我的 iOS 应用创建/导出一个独有的 UTI 类型(非常类似于 Instagram 独占处理 UTI com.instagram.exclusivegram 的方式)。 基本上,我希望
我是一名优秀的程序员,十分优秀!