1

私は持っている

<div data-text="This is a text">...</div>

javascript でデータテキストにアクセスする必要があります。それは動作しますが、動作しalert($('div').data('text'));ませalert($.data($('div'), 'text'));ん。未定義です。

なぜ?

リンク: http://jsfiddle.net/tvDzP/2/

(パフォーマンスの問題についてはelement.attr('data-text')、テキストの取得に使用します)

4

2 に答える 2

1

通常$.data、jQuery オブジェクトではなく、DOM ノードが必要です。

$('div').data('text') // correct
$.data($('div')[0], 'text') // correct
$.data($('div'), 'text') // incorrect

ただし、data-*属性について$.dataは、値が によって一度取得されていない限り機能しません$(element).data()

ドキュメントから:

HTML5 の data-* 属性について:data-*この低レベルのメソッドは、より便利.data()なメソッドが既に属性を取得していない限り、属性を取得しません。

デモ

于 2012-08-22T11:26:47.993 に答える
0

elementセレクターや jQuery オブジェクトではなく、DOM 要素である必要があります。

$.data($('div')[0], 'text')

http://jsfiddle.net/CGck6/

于 2012-08-22T11:27:18.710 に答える