2

以前は値がなかった div にデータ属性を設定しようとしています。

<div></div>

jQuery では、最初のメソッド (data) は何もしませんが、attr メソッドは正しく機能します。

var div = $('div');
div.data('superhero_one','batman');
div.attr('data-superhero_two','spiderman');

http://jsfiddle.net/5bT8p/

データ関数を間違って使用していますか?

4

4 に答える 4

5

それはうまくいきます!

.data()その背後にある実際のことは、 jqueryが内部的に設定するため、使用時に実際の属性を見ることができないということです。ただし.attr()、検査できる要素に属性を追加します。

このデモを参照してください--> http://jsfiddle.net/5bT8p/1/

于 2014-03-21T09:49:24.997 に答える
3
$("div").data("superhero_two","spiderman");

正しい構文です。しかし、検査するとき、私はdata-superhero_two="spiderman"(意図したとおりに)見ているだけです。from 属性.attrは DOM で設定され、 はJQuery オブジェクトのみ.data で設定されます。

ところで、ドキュメントの準備完了関数を使用して、適切なタイミングで実行されるようにします。

$(document).ready(function() {
    $("div").data("superhero_two","spiderman");
});
于 2014-03-21T09:50:41.037 に答える
1

動作が異なるため、正常に動作していますjQuery.data:

一致した要素に関連付けられた任意のデータを保存するか、一致した要素のセットの最初の要素の名前付きデータ ストアで値を返します。

そのため、要素には html 属性が設定されませんが、キーと値のペアは jQuery オブジェクト参照内に格納されます。

つまり、違いは$.data、DOM 要素を変更せずに情報を格納するためにattr使用され、要素の属性を操作するために使用されます。

デモ: http://jsfiddle.net/5bT8p/3/

于 2014-03-21T09:50:29.400 に答える
1
$("div").data("superhero_two","spiderman");

.data() |を与えることをお勧めします。jQuery API ドキュメントを読む。データ属性を設定および取得するための例がたくさんあります。

これは jsfiddle での同じ使用例です: http://jsfiddle.net/yrshaikh/293nk/1/

于 2014-03-21T09:46:48.633 に答える