2013-02-08 24 views
0

我有一個包含10種輸入元素的HTML形式,我想請按鍵的功能上的每個這些輸入元件的不同之處的那些CSS選擇爲所有輸入元件除少數

$(":input").live("keypress", function(e){ 
// something... 
}); 

上述選擇器2將適用於所有輸入元素。但我想從上面的代碼中排除2個我的輸入元素(通過id或By類)。我該怎麼做?在css選擇器中是否有排除/不是功能?

做起來可通過附加輸入元素的ID的另一路通過類似「keypress_」,然後使用

$("[id^=keypress_]").live("keypress", function(e){ 
// something... 
}); 

但我DONOT想改變HTML IDS被包括在內。這可以通過CSS選擇器來完成嗎?

+0

你確定你想要一個純粹的CSS選擇器,而不是使用任何jQuery提供的?因爲':input'不是一個CSS選擇器。 – BoltClock

+0

對不起。我想:輸入是一個CSS選擇器。反正:input:not([id^= keypress_])已經爲我做了訣竅 – Bhuvan

回答

3

您可以使用:not選擇器或.not jQuery方法。在這種情況下,兩者應該都是一樣的。

$(":input:not([id^=keypress_]") 
$(":input").not("[id^=keypress_]") 

,因爲它已經在jQuery的1.9被刪除,不要使用.live。通過.on改用事件委派:

$(document).on('keypress', ':input:not([id^=keypress_])', function() { 
0

有一個:not()選擇在jQuery的,也是一個.not()方法。

這可能會爲你工作:

$(":input:not([id^=keypress_])") 

或者這樣:

$(":input").not("[id^=keypress_]") 

此鏈接可能有更多的信息。 http://api.jquery.com/not-selector/

相關問題