jsにおけるpropメソッドとattrメソッドの違い

895 ワード

作者:wangdachui 95345出所:CSDN原文:https://blog.csdn.net/wangdachui95345/article/details/53389257本文は博主のオリジナルの文章で、転載して博文のリンクを添付してください!
attrはページ検索から要素値を取得するため、ページは要素を明確に定義してこそ値を取得することができ、相対的に遅い.
 
$('input:checkbox').attr('type');   checkbox. 
$('input:checkbox').attr('checked');   undefined

propはプロパティオブジェクトから値を取り、プロパティオブジェクトにどれだけのプロパティがあるか、どれだけの値を取得できるか、ページに定義を表示する必要はありません.
$('input:checkbox').prop('checked');   false

ここで問題が発生します.カスタム属性の場合、属性オブジェクトにはこの属性はありません.したがってpropはundefinedを返します.しかし、ページではこの属性を取得できるので、attrは取得できます.
次に、attrは、attr(‘name’,‘value’)によって変更されない限り、初期化値を取得します.propプロパティ値は、checkboxなどのダイナミックです.チェックすると、checkedがtrueになり、prop値も変わります.
まとめ:HTML要素自体が持つ固有属性については,処理時にpropメソッドを用いる.すばやく、正確です.HTML要素に対して我々自身がカスタマイズしたDOM属性は,処理時にattrメソッドを用いる.