我的jquery不是选择器不工作

时间:2015-03-10 11:39:05

标签: jquery

$(document).ready(function(){
 $("a").not("a[href~='test']").click(function(){
    ga('send', 'event', 'Outbound Links', 'click', $(this).attr('href'));
  });
});

not选择器对我不起作用。 jquery版本是1.11.0

2 个答案:

答案 0 :(得分:0)

疯狂猜测......

您的选择器正在使用~=means

  

...属性值是以空格分隔的值的列表,其中一个值恰好等于(值)

我猜这不是你的意思。如果您要排除a 包含 href的任何"test"元素,那么您需要*=

$("a").not("a[href*='test']").click(/*...*/);

如果您要排除href "test"开头的人,您需要^=

$("a").not("a[href^='test']").click(/*...*/);

More in the spec

答案 1 :(得分:0)

您正在使用jquery的~属性选择器  [name~="value"]它说属性包含Word Selector

所以,

$("a").not("a[href~='test']")

这仅适用于那些由空格分隔的单词test 的锚点。

所以它需要像这种类型的锚点href:

<a href="http://example.com/ test /zy/zy/">link</a>

我猜你没有标记。

$("a").not("a[href*='test']")

我猜您需要使用*包含选择器。