ホームページ  >  記事  >  ウェブフロントエンド  >  jquery_jquery の attr と prop の違いの分析

jquery_jquery の attr と prop の違いの分析

WBOY
WBOYオリジナル
2016-05-16 16:09:03966ブラウズ

jquery の上位バージョンで prop メソッドが導入された後、いつ prop を使用する必要がありますか? attr をいつ使用するか?両者の違いは何ですか?こうした問題が生じます。

この 2 つの違いについては、オンラインで多くの回答があります。ここで私の考えを話させてください。私の考えは非常に単純です。
• HTML 要素自体の固有属性については、prop メソッドを使用して処理します。
• HTML 要素の独自のカスタム DOM 属性については、処理時に attr メソッドを使用します。

上記の説明は少し曖昧かもしれませんが、いくつか例を挙げてみましょう。

コードをコピーします コードは次のとおりです:

この例では、 要素の DOM 属性には「href、target、class」が含まれています。これらの属性は、W3C 標準にも含まれています。つまり、IDE でインテリジェントにプロンプ​​トを表示できる属性は、固有属性と呼ばれます。これらのプロパティを扱う場合は、prop メソッドを使用することをお勧めします。

コードをコピーします コードは次のとおりです:

この例では、 要素の DOM 属性には「href、id、action」が含まれていますが、最初の 2 つは固有の属性であり、後の「action」属性は私たちがカスタマイズしたものです。要素自体にはこの属性はありません。これはカスタム DOM 属性です。これらの属性を扱う場合は、attr メソッドを使用することをお勧めします。 prop メソッドを使用して値を取得し、プロパティ値を設定すると、未定義の値が返されます。

別の例:

コードをコピーします コードは次のとおりです:

表示されますか 表示されますか

checkbox、radio、select などの要素の場合、checked 属性は「checked」と「selected」に対応します。これらも固有の属性であるため、正しい結果を得るには prop メソッドを使用する必要があります。

コードをコピーします コードは次のとおりです:

$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true

上記で attr メソッドを使用すると、次のように表示されます:

コードをコピーします コードは次のとおりです:

$("#chk1").attr("チェック済み") == 未定義
$("#chk2").attr("チェック済み") == "チェック済み"

全文完成しました。

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。