2010-09-04 58 views
2

我想的功能結合到這種定位的,但似乎無法得到選擇權需要正確的jQuery選擇

這不起作用

$(function(){ 
$("a[onclick=='RemoveCCard_OnClick(event);']").bind('click', function() { 
alert(""); 
return false; 
}); 
}); 



<span style="display: block;" id="span_remove_selected_ccards"> 
<a style="color: rgb(153, 153, 153);" onclick="RemoveCCard_OnClick(event);" href="javascript: void(0);"> 
<span class="PageText_L31n">remove selected</span></a> 
<input type="hidden" value="1968" name="remove_ccardid" id="remove_ccardid"> 
</span> 

回答

1

我會在這裏提出一個更簡單的選擇不是在看一個onclick屬性,像這樣:

$("#span_remove_selected_ccards > a").click(function() { 
    return false; 
}); 

它使用一個#ID selector在父元素上,然後獲取> (immediate child)<a>將事件綁定到。當傳遞函數時,.click()只是.bind('click')的快捷方式。另外,從ID選擇器下降要比查找屬性更快,該屬性將抓取頁面中的所有錨點。

+0

一如既往的尼克你是正確的目標。我嘗試了類似的東西,它沒有工作$(「span#span_remove_selected_ccards> a」)。也許我做錯了什麼。無論如何,你的選擇者工作得很好,謝謝 – user357034 2010-09-04 11:10:12

0

不要使用這樣的屬性選擇器。如果你需要一個事件處理程序附加到一個特定的元素,給它一個class,或者如果它是獨一無二的,一個id,就像這樣:

<a id="unique" href="#">Look ma, I'm special!</a> 
<a class="many" href="#">You can have lots and lots of me with the same class here</a> 

然後使用下面的選擇,選擇他們

$('#unique') 
$('.many') 
+0

這根本沒有回答我的問題。我無法訪問該標記,或者我會在主播中添加一個ID。 – user357034 2010-09-04 10:51:45