2009-06-30 67 views
89

我想選擇一組既有特定輸入類型(比如複選框)的元素,也有使用jQuery的特定類。但是,當我嘗試以下操作:jQuery:通過類和輸入類型來選擇

$("input:checkbox .myClass") 

我沒有收到任何項目返回。我怎樣才能在jQuery中完成這件事?

回答

153

您的選擇器正在查找類型爲.myClass的複選框元素的任何後代。

試試這個:

$("input.myClass:checkbox") 

Check it out in action

我還測試了這款:

$("input:checkbox.myClass") 

,它也將正常工作。在我看來,這個語法看起來相當醜陋,因爲大部分時間我都希望:樣式選擇器能夠最後到達。正如我所說,但是,任何一個人都會工作。

+1

詛咒 - 我插入我的答案太快,犯了同樣的錯誤。哦,而不是編輯,我會退出並投票給你看看錯誤;) – Sampson 2009-06-30 20:45:30

37

如果你想獲得這種類型的輸入與該類用途:

$("input.myClass[type=checkbox]") 

的[]選擇語法允許你檢查對任何元素的屬性。 查看spec瞭解更多詳情

3

您必須使用(對於複選框):checkbox.name屬性才能按類選擇。

例如:

$("input.aclass:checkbox") 

:checkbox選擇:

匹配類型複選框的所有的輸入元件。使用這種 仿真選擇器(如$(':checkbox'))相當於$('*:checkbox') 這是一個慢速選擇器。 建議做$('input:checkbox')

您應該閱讀jQuery documentation以瞭解選擇器。

4

您應該使用類名像這樣

$(document).ready(function(){ 
    $('input.addCheck').prop('checked',true); 
}); 

嘗試使用這個live demo

2

試試這個:

$("input:checkbox").hasClass("myClass"); 
1

萬一像我任何假人與試圖在這裏的建議一個按鈕,發現沒有任何工作,你可能想要這樣:

$(':button.myclass') 
相關問題