<div class="btn">
<div>11</div>
<div>22</div>
</div>
.btn如果有两个div子元素就选择生效,如果是1个就不选择 不生效,如果做呢,或者scss,less等
总的意思就是如果.btn只有一个子元素,我就对.btn进行设置,否则如果不是只有一个元素,.btn设置不生效或者不设置
<div class="btn">
<div>11</div>
<div>22</div>
</div>
.btn如果有两个div子元素就选择生效,如果是1个就不选择 不生效,如果做呢,或者scss,less等
总的意思就是如果.btn只有一个子元素,我就对.btn进行设置,否则如果不是只有一个元素,.btn设置不生效或者不设置
<body>
<div class="box2">
<div class="btn">
<div>11</div>
</div>
</div>
<div class="box1">
<div class="btn">
<div>11</div>
<div>22</div>
</div>
</div>
<div class="box3">
<div class="btn">
<div>11</div>
<div>22</div>
<div>33</div>
</div>
</div>
<script>
let btn = document.querySelectorAll(".btn")
for (let i = 0; i < btn.length; i++) {
const item = btn[i];
if (item.children.length == 2) {
console.log(item.parentNode);
}
}
</script>
</body>
打印结果
你看这个是你想要的效果吗?
纯用css,我觉得这不太现实,我劝你等等CSS5 🤭(捂嘴偷笑)
这跟现在浏览器的渲染机制有关系
可以看看CSS世界作者张鑫旭写的这篇博客的第一部分:
4 回答993 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答907 阅读✓ 已解决
1 回答722 阅读✓ 已解决
3 回答749 阅读
2 回答921 阅读
可以用伪类
:only-child
选中只有一个div
的.btn
https://codepen.io/brendanfic...