jQuery .attr() vs .prop()

參考自:https://cythilya.github.io/2017/09/10/jquery-attr-vs-prop/

 

<input type="checkbox" class="checkbox-1" checked="true" />
<input type="checkbox" class="checkbox-2" />
<input type="checkbox" class="checkbox-3" checked="false" />
$('.checkbox-1').prop('checked'); //true
$('.checkbox-1').attr('checked'); //checked
$('.checkbox-2').prop('checked'); //false
$('.checkbox-2').attr('checked'); //undefined
$('.checkbox-3').prop('checked'); //true
$('.checkbox-3').attr('checked'); //checked
<input type="checkbox" class="checkbox-3" />
$('.checkbox-3').attr('checked', 'checked');
$('.checkbox-1').prop('checked', true)

** 由於 attribute 只要有設定 HTML 特性 checked,不論等號後面的值是什麼,甚至不帶值,皆會得到 checked,意即只要設定特性名稱即可。若要取消勾選則要使用 .removeAttr() 移除該特性。.prop() 仍是使用布林值設定勾選與否。

<input type="checkbox" class="checkbox-1" checked="false" />
<!-- 雖然設定checked為false, 仍然會check-->
posted @ 2019-09-03 20:10  日光之下无新事  阅读(265)  评论(0编辑  收藏  举报