我需要從複選框到我的div的狀態。 div正在包裝複選框。獲取從複選框到div的狀態
<div id="checkWrapper">
<input type="checkbox" />
</div>
類似的東西。當用戶點擊複選框並且它被檢查狀態時,我需要獲得一些類到#checkWrapper div。類可以是任何東西,也許類似「檢查」。
jQuery的可能嗎?這很容易嗎?
我需要從複選框到我的div的狀態。 div正在包裝複選框。獲取從複選框到div的狀態
<div id="checkWrapper">
<input type="checkbox" />
</div>
類似的東西。當用戶點擊複選框並且它被檢查狀態時,我需要獲得一些類到#checkWrapper div。類可以是任何東西,也許類似「檢查」。
jQuery的可能嗎?這很容易嗎?
您可以使用:checked
選擇與.length
,看它是否找到任何匹配,就像這樣:
var is_checked = $("#checkWrapper :checkbox:checked").length > 0;
對於click處理程序,你可以這樣做:
$("#checkWrapper :checkbox").change(function() {
$("#checkWrapper").toggleClass("checked", this.checked);
});
這將增加的checked
類,當它被檢查,刪除它時,它不是。如果您需要與許多元素要做到這一點,使用像class="checkWrapper"
一類.closest()
,就像這樣:
$(".checkWrapper :checkbox").change(function() {
$(this).closest(".checkWrapper").toggleClass("checked", this.checked);
});
$('#checkWrapper :checkbox').live('change', function(){
$(this).parent().toggleClass('checked', this.checked);
});
的變化確實有一些問題與IE瀏覽器?我想我之前可能會遇到一些問題。我可能記得錯了,所以我會放棄它。 – penissiomo 2010-11-11 20:24:39
@penissiomo - '變化'在IE瀏覽器中遇到了問題,在較老的(1.4.2版本)jQuery版本中冒泡,現在不是問題...並且以上代碼都不依賴於冒泡:) – 2010-11-11 20:35:08