.data
方法はdata-
HTML属性を変更しません。 jQueryが内部的に格納する変数を変更します。
あなたが本当に.attr()
方法とその明示的に行う、data-
属性を変更したい/必要がある場合:
$(el).attr('data-original-title', str);
しかし、これは.data
によって返された値を変更しません。 jQueryはdata-
HTML属性からその値を取り出します。内部で格納されている値を見つけることができない場合のみです。 HTML属性を変更した後に$(el).data('original-title')
を再度取得すると、変更されていないことがわかります。
このが問題の場合は、.removeData()
メソッドを使用して、内部で保存された値を削除します。次に.data()
を使用すると、jQueryはそれが見つからないことを確認し、data-
HTML属性を取得します。 http://jsfiddle.net/mblase75/LHCUK/
HTML::
<p id="p" data-title="blah"></p>
のjQuery:
console.log($('#p').data('title')); // returns "blah"
// alter the attribute directly
$('#p').attr('data-title','whooo'); // data-title="whooo"
// test if .data is changed
console.log($('#p').data('title')); // still returns "blah"
// delete the .data() value
$('#p').removeData('title');
// now fetch it again -- it will retrieve the new data- attribute
console.log($('#p').data('title')); // returns "whooo"
さて、実際には、あなたが心配する必要はありません
を見てみましょうこの。 data-
属性は、の最初のの値が.data()
であり、その変数の値がの現在のであるとは限りません。要約すると
:.data()
方法は、HTML要素から値を取得し、ドキュメントがロードされ、かつ変数が内部に保存されている限り、再びそうではないだろう一度。
['.data'](http://api.jquery.com/data)メソッドは' data-'HTML属性を変更しません。 jQueryが内部的に格納する変数を変更します。 – Blazemonger
この質問に答えるのに十分な情報がありません。 Utilities.ApplyTooltipsは何をしますか?マークアップはどのように見えますか? – Joe
もう少し文脈が役立つだろう。 'data'はどのように見え、' ApplyTooltips'は何をしますか? –