如何使用:not()来针对具有特定父级的常规选择器
How do I use :not() to target a general selector with specific parent?
这里有一个的例子
var exitLinkSelectors = 'a:not(.external_link)';
$(document).on('click', exitLinkSelectors, function(e){
// ....
});
这将针对除具有external_link类的锚点之外的所有锚点。然而,我想要的是它也不针对
.exclude a
我想写
var exitLinkSelectors = 'a:not(.external_link, .exclude a)';
但这不是那样的,有没有办法用:not()来写这个?我知道我可以向exclude链接添加一个类,并以这种方式将其作为目标,但我更喜欢:not(),这样它更动态。
http://jsfiddle.net/qDafT/
根据文档,它应该可以工作。
所有选择器都可以在:not()中接受,例如::not(div a)和:not(iv,a)。
并尝试了var exitLinkSelectors = 'a:not(.external_link, .exclude a)';
,它对我来说很好http://jsfiddle.net/qDafT/1/
就个人而言,我会在回调中进行检查,我想它会更具性能!
$(document).on('click', "a", function(e){
var $this = $(this);
if($this.hasClass("external_link") || $this.closest(".exclude").length > 0)
return;
// ....
});
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery最近父级的数据属性选择器
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- jquery IE7中的第n个选择器
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- 正在搜索JavaScript日期选择器滑块
- 如何将返回的值应用于多个不同位置的多个选择器
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 如何在多个jQueryUI日期选择器中屏蔽特定日期
- jquery日期选择器显示与值不同的文本
- jQuery选择器无法正常工作
- 如何使用查询选择器来选择常规短语
- 如何使用:not()来针对具有特定父级的常规选择器