如何编写选择器仅选中仅含特定类add_your_qora的元素?
如何选择仅包含特定类名的元素
要实现只选中仅拥有add_your_qora类名的元素,你可以用CSS属性精确匹配选择器替代常规类选择器,具体思路如下:
- 常规类选择器
.add_your_qora的逻辑是「匹配所有包含这个类的元素」,不管元素有没有其他类,这就是你会同时选中带额外类元素的原因。 - 改用属性精确匹配选择器
[class="add_your_qora"],它会严格匹配class属性的完整值,只有当元素的class属性恰好等于add_your_qora(没有其他类名)时才会被选中。
修改后的代码如下:
doc.on("click", '[class="add_your_qora"]', function(e){ // 你的逻辑代码 });
额外注意事项
如果担心元素的class属性里可能存在多余的首尾空格(比如<div class=" add_your_qora ">...</div>),可以结合:not()伪类做更鲁棒的匹配:
doc.on("click", '.add_your_qora:not([class*=" "])', function(e){ // 你的逻辑代码 });
这个选择器的意思是:选中拥有add_your_qora类,并且class属性中不包含空格的元素——因为空格是多个类名的分隔符,没有空格就意味着只有这一个类。
内容的提问来源于stack exchange,提问作者Martin AJ
相关产品推荐
相关产品推荐

