jQuery データと属性: 違いを理解する
DOM 要素を操作する場合、jQuery はデータ属性にアクセスして操作するための 2 つのメソッドを提供します。 $ .data と $.attrどちらもデータ属性の追加、取得、削除に使用できますが、目的と機能に大きな違いがあります。
$.data
$.data は主に相互作用します。 jQuery によって維持される内部キャッシュを使用します。このキャッシュは、DOM 要素に関連付けられた任意のデータを保存するために使用され、HTML DOM 自体の一部ではありません。
HTML マークアップの一部ではないデータを保存する必要があり、後でアクセスしたい場合, $.data が推奨されるアプローチです。たとえば、これを使用して、ページ上に表示する必要のない状態情報やユーザー設定を保存できます。
$.attr
$.attr、一方、 は HTML DOM を直接操作します。これにより、DOM 要素に追加された HTML5 データ属性にアクセスして変更できるようになります。これらの属性は要素自体内に文字列として保存され、「data-attribute-name」構文を使用してアクセスできます。
HTML マークアップの一部であるデータ属性を操作し、確実に他のブラウザやフレームワークとの互換性を考慮すると、$.attr が推奨されます。ただし、$.attr は文字列値のみを格納できるのに対し、$.data は複雑なオブジェクトを格納できることに注意することが重要です。
$.data での自動キャスト
$.data の大きな利点の 1 つは、自動キャスト機能です。特定のパターンに一致する文字列値を、文字列、数値、ブール値、JSON などの JavaScript プリミティブに自動的に変換します。これは、HTML マークアップからデータを取得する場合やウィジェットをインスタンス化する場合に便利です。
ハイフンで囲まれた属性名
ハイフンで囲まれた属性名を使用する場合は、$.data が自動変換されることに注意してください。キャメルケースに変換します。ただし、ハイフン付き形式はデータにアクセスするために引き続き機能し、キャメルケース バージョンは $.data によって返されるオブジェクトで使用できます。一般に、一貫性を保つために、データ属性は小文字でハイフンなしの形式を使用することをお勧めします。
各メソッドを使用する場合
原則として、次の場合には $.data を使用します。 HTML マークアップの一部ではない DOM 要素にカスタム データを保存する必要があります。 $.attr は、HTML マークアップの一部であるデータ属性にアクセスまたは変更する必要がある場合、または特に文字列値を保存する必要がある場合に使用する必要があります。
$.data と $.attr の違いを理解することで、を使用すると、jQuery アプリケーションでデータ属性を効果的に管理および利用できます。
以上がjQuery $.data() と $.attr(): それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。