假設我有一個按鈕列表。每個按鈕都屬於「.button」類。每個按鈕在視覺上都以其選定狀態出現。每個按鈕還有一個將其與其給定功能相關聯的造型類, 「.widget-1」,「.widget-2」,因此<div class="button widget-1">
等等。當點擊一個按鈕時,我執行:$(this).addClass("selected")
如何使用jQuery確定給定類的剩餘元素?
請注意,我有任意數量的按鈕,並且我永遠不知道在任何給定時間我將擁有多少個按鈕,因爲列表是數據驅動的,大小和樣式在運行時動態。
但是,在只有一個按鈕保持未勾選狀態時,必須滿足條件的情況,即:一個沒有添加「.selected」類的按鈕。
考慮用於說明目的下面的代碼:
for (var n = 0; n < Math.round(Math.random() * 10); n++) {
$('<button />').attr({class: 'button widget-' + n})
.appendTo('body')
.click(function(){
$(this).addClass('selected');
// Am I the last .button without .selected class?
});
}
這是棘手比它聽起來:認識到,每個按鈕將不知道這是最後一次,直到在同類其它任意按鈕被選中。
請幫忙嗎?
謝謝,對不起歧義:你的第二個例子就是我一直在尋找。我能夠讓自己的狀態開火,但必須使用你的建議的一個細微變化,即:'if($('。button.selected')。length == $('。button')。length - 1 ){alert(「我是最後一個!」);}'再次非常感謝,無論這個挑剔已經困擾了我好幾個小時! – lincolnberryiii
我很高興能夠提供幫助。祝你好運! – jmort253