快一点。我在这里做错了什么?
$("#content a:not(target=_blank)").live("click", function(){
alert("You clicked an internal link!!")
})
干杯:)
答案 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);