本文主要和大家分享checkbox的選中和取消attr()和 prop()詳解,首先要明確,CheckBox是否被勾選中,和input的checked這個attribute是否="checked"是沒有直接關係的。
一個沒有寫相關js函數的input:checked,你只能控制它是否被選中,如上圖所示。
$('.modal-body input:checked')
如上程式碼,這個jquery選擇器能找到第二個input,但是能找到,與它的attitude:checked並沒有關係。
如果想透過是否勾選來控制checked這個attitude,那麼需要加上以下程式碼:
$('.modal-body thead').on('click','input',function(){ if($(this).attr('checked')=='checked'){ $(this).removeAttr("checked"); }else{ $(this).attr("checked", "true"); } });
如果你還想其他dom元素的事件來控制,是否選取和attitude,那麼需要加上如下程式碼:
$('.modal-body thead').on('change','select',function(){ $(this).parent().find('th input').prop('checked','checked'); $(this).parent().find('th input').attr('checked','checked'); });
其中使用prop函數,是為了控制是否已選取。如果沒有使用,那麼input元素不會被選中,但是attitude的值會改變。
其實,其實不用在意checked這個attitude,因為jquery選擇器在乎的是是否選中,而不是attitude的值。
但當需要用其他dom元素的事件來觸發,使得CheckBox被選取時,就需要使用prop函數了。因為使用者在意的是視覺,而不是透過控制台看attitude的值。
相關推薦:
以上是checkbox的選取和取消attr()和 prop()詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!