検索
ホームページウェブフロントエンドフロントエンドQ&Ajqueryのdata()とattr()の違いは何ですか

違い: 「$.attr()」は毎回 DOM 要素から属性値を取得します。つまり、ビュー内のタグの属性値と一致しますが、「$.data()」は「Jqueryから値を取得します」 オブジェクトから値を取得する場合、オブジェクトの属性値はメモリ上に格納されるため、必ずしもビュー内の属性値と一致するとは限りません。

jqueryのdata()とattr()の違いは何ですか

このチュートリアルの動作環境: Windows7 システム、jquery1.10.2 バージョン、Dell G3 コンピューター。

$.attr()$.data() は本質的に DOM 属性 Jquery オブジェクト属性 に属します違い。

簡単な例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Jquery中.attr和.data的区别</title>
    </head>
    <body>
        <p id="app" data-foo="hello"></p>
    </body>
    <script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
    <script type="text/javascript">
        var getAttr1 = $(&#39;#app&#39;).attr(&#39;data-foo&#39;);
        var getData1 = $(&#39;#app&#39;).data(&#39;foo&#39;);
        console.log(&#39;getAttr1: &#39; + getAttr1); //hello
        console.log(&#39;getData1: &#39; + getData1); //hello
 
        $(&#39;#app&#39;).attr(&#39;data-foo&#39;, &#39;world&#39;); //$.attr 设置DOM元素属性值
        var getAttr2 = $(&#39;#app&#39;).attr(&#39;data-foo&#39;);
        var getData2 = $(&#39;#app&#39;).data(&#39;foo&#39;);
        console.log(&#39;getAttr2: &#39; + getAttr2); //world
        console.log(&#39;getData2: &#39; + getData2); //*** hello ***
 
        $(&#39;#app&#39;).data(&#39;foo&#39;, &#39;WORLD&#39;); //$.data 设置DOM node属性值
        var getAttr3 = $(&#39;#app&#39;).attr(&#39;data-foo&#39;);
        var getData3 = $(&#39;#app&#39;).data(&#39;foo&#39;);
        console.log(&#39;getAttr3: &#39; + getAttr3); //world
        console.log(&#39;getData3: &#39; + getData3); //*** WORLD ***
 
    </script>
</html>
  • $.attr() は毎回 DOM 要素 から属性の値を取得します。つまり、タグ内のビュー属性値は一貫したままです。

    • $.attr('data-foo') はタグから data-foo 属性値を取得します;

    • $.attr( ' data-foo', 'world') は、文字列 'world' をタグの 'data-foo' 属性に挿入します;

  • $.data ( ) は Jquery オブジェクト から値を取得するためのものですが、オブジェクトの属性値はメモリ上に格納されるため、ビュー内の属性値と一致しない可能性があります。

    • $.data('foo') は、タグからの data-foo 属性値ではなく、Jquery オブジェクト から foo の属性値を取得します。

    • ##$.data('foo', 'world') は、文字列 'world' を

      Jquery オブジェクト の 'foo' 属性に詰め込みます。 view タグの data-foo 属性。

#上記のコードと説明を組み合わせると、誰でも 2 つの違いを理解できるはずです。

したがって、$.attr() と $.data() は混合使用を避ける必要があります。つまり、次の 2 つの状況は可能な限り回避する必要があります。 $.attr() を使用して属性を設定し、$.data() を使用して属性値を取得します。

  • $.data() を使用して属性を設定し、その後$.attr() を使用して属性値を取得します。

  • 同時に、パフォーマンスの観点から、set および get 操作には $.data() を使用することをお勧めします。これは、

    の属性値のみを変更するためです。 Jquey オブジェクト

    は、追加の DOM 操作を引き起こしません。
推奨される関連ビデオ チュートリアル:

jQuery チュートリアル (ビデオ)

以上がjqueryのdata()とattr()の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactのキー:パフォーマンスの最適化技術への深い飛び込みReactのキー:パフォーマンスの最適化技術への深い飛び込みMay 01, 2025 am 12:25 AM

keysinReactarecialforptimizingperformancebyididingineffictientListupdates.1)usekeystoidentifideidifyandtracklistelements.2)ArrayIndi​​cesassyStopreventPerformanceSues.3)suoseStableidedifierslikeItem.idtomaincomentaindtateandiproveperift

Reactのキーとは何ですか?Reactのキーとは何ですか?May 01, 2025 am 12:25 AM

ReactKeySareUniqueIdentifiersiersiderSuredStrovereconconiniationEfficiency.1)theyctrackChangesinListitems、2)sultanduniqueidentifiersiirsiTeemidssisssississmendを使用して、3)ArrayIndi​​cesAssayStopReventisSuseSUSEORINGを回避します

反応におけるユニークな鍵の重要性:一般的な落とし穴を避ける反応におけるユニークな鍵の重要性:一般的な落とし穴を避けるMay 01, 2025 am 12:19 AM

sinqueysarecrucialinReactforoptimizing andMaintainingcomponentStateIntegrity.1)useanaturaluniqueidentifierfromyourdataifaibable.2)ifnonaturalidentifierexists、発電済みのKeyusingingingingalibrarylikuuid.3)

indexesを反応のキーとして使用する:それが受け入れられるとき、そしてそれがそうでないときindexesを反応のキーとして使用する:それが受け入れられるとき、そしてそれがそうでないときMay 01, 2025 am 12:17 AM

インデックスをキーとして使用することは、反応では許容されますが、リストアイテムの順序が変更されておらず、動的に追加または削除されていない場合のみです。それ以外の場合は、安定した一意の識別子をキーとして使用する必要があります。 1)静的リストのキーとしてインデックスを使用しても構いません(メニューオプションをダウンロード)。 2)リスト項目を並べ替えたり、追加したり、削除したりできる場合、インデックスを使用すると、状態の損失と予期しない動作が発生します。 3)データの一意のIDまたは生成された識別子(UUIDなど)を常に使用して、DOMを正しく更新し、コンポーネントステータスを維持することを確認します。

ReactのJSX構文:UI設計に対する開発者に優しいアプローチReactのJSX構文:UI設計に対する開発者に優しいアプローチMay 01, 2025 am 12:13 AM

jsxisspecialcuaseitblendshtmlwithjavascript、enabling component baseduidesign.1)itallowsembeddingjavascriptinhtml-likesyntax、endincinguidesignandlogicintegration.2)jsxpromotesaModularaptreabrecoponeants、Impruvingcodemeainnents、jsxpromotesaModularaptreabrecoponediaNents

HTML5を使用してどのタイプのオーディオファイルを再生できますか?HTML5を使用してどのタイプのオーディオファイルを再生できますか?Apr 30, 2025 pm 02:59 PM

この記事では、HTML5オーディオフォーマットとクロスブラウザー互換性について説明します。 MP3、WAV、OGG、AAC、およびWebMをカバーし、より広いアクセシビリティのために複数のソースとフォールバックを使用することを提案します。

SVGとCanvas HTML5要素の違いは?SVGとCanvas HTML5要素の違いは?Apr 30, 2025 pm 02:58 PM

SVGおよびCanvasは、Webグラフィックス用のHTML5要素です。ベクターベースであるSVGは、スケーラビリティとインタラクティブ性に優れていますが、ピクセルベースのキャンバスはゲームなどのパフォーマンス集約型アプリケーションに適しています。

HTML5を使用してドラッグアンドドロップは可能ですか?HTML5を使用してドラッグアンドドロップは可能ですか?Apr 30, 2025 pm 02:57 PM

HTML5は、特定のイベントと属性でドラッグアンドドロップを有効にし、カスタマイズを可能にしますが、古いバージョンやモバイルデバイスでブラウザの互換性の問題に直面します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境