$(“#content a:not(target = _blank)”)不起作用..我做错了什么?

时间:2011-08-19 21:06:28

标签: jquery jquery-selectors

快一点。我在这里做错了什么?

$("#content a:not(target=_blank)").live("click", function(){
   alert("You clicked an internal link!!")
})

干杯:)

5 个答案:

答案 0 :(得分:7)

您可以使用属性not equals selector:

$("#content a[target!='_blank']").live("click", function(){
   alert("You clicked an internal link!!");
});

答案 1 :(得分:5)

jQuery :not()选择器接受其中的选择器,所以尝试这样的事情:

$('#content a:not([target="_blank"])').live("click", function(){
   alert("You clicked an internal link!!")
})

答案 2 :(得分:1)

括号?

$("#content a:not([target=_blank])").live("click", function(){
   alert("You clicked an internal link!!") 
})

答案 3 :(得分:1)

您缺少属性选择器的方括号,并在值周围引用。

$('#content a:not([target="_blank"])')

单引号也适用于此。

$("#content a:not([target='_blank'])")

我认为它是版本1.6.0,其中属性引用成为强制性的,在以前的版本中它是可选的,这打破了我更新的许多代码。似乎1.6.2或1.6.1可能已经删除了这个要求,尽管docs说它们仍然是强制性的。如果在将来的版本中删除向后支持,最好做他们所说的话。

作为一个CSS选择器,它仍然是可选的for the most part,所以至少习惯于从现在开始在jQuery中使用它们,如果你还没有。

答案 4 :(得分:1)

试试这个:

$("#content a:not([target='_blank'])").live("click",your_function);