2011-08-18 65 views
0

我想要點擊事件觸發任何具有或可以具有(或傳統上具有)文本內容的類'可編輯'的元素:a,li,h1,h2,h3,p ..但不是視頻,img和其他不直接包含文字的元素。jQuery選擇器以可能的文本內容爲目標元素?

有沒有辦法做到這一點,而不提及具體的HTML元素?或..我將如何排除以下特定元素類型:

$(".editable").click(function(event) { 
    alert("edit text!"); 
}); 

回答

1

我懷疑是否有預定義的選擇器只會選擇這些元素。
作爲execlusion你可以使用not()函數:

$(".editable").not("video").not("img") 
.click(function(event) { 
    alert("edit text!"); 
}); 

這裏的文檔: http://api.jquery.com/not/

編輯:它可能會更有效,一旦這樣調用該函數:

$(".editable").not("video,img") 
.click(function(event) { 
    alert("edit text!"); 
}); 
0

您可以使用非選擇器或功能進行排除。

選擇

$('.editable:not(video, img)').click(function(e){ 

}); 

功能

$('.editable').not('video, img').click(function(e){ 

}); 

JSFiddle with Example