2

私は作業機能を持っています:

$('#hints').after(
   '<a href="#" id="hint" class="btn btn-large btn-success" data-toggle="popover" title="" data-content="Hint 1 Content" data-original-title="Hint 1 Title">Hint 1</a>'
)

data-content="Hint 1 Content"jQueryで編集しようとしています。

私の機能は次のとおりです。

function loadContent(riddle) {
    $('#hint').data('content','h1 content')
}

それから私は呼び出しますが、これは私のタグloadContent(RIDDLE)のタグを変更しません。data-content<a>

4

2 に答える 2

2

data属性は DOM Element オブジェクトのプロパティにマップされdatasetます。コードは機能するはずです。属性ではなくプロパティであるため、変更されていることはわかりません。

$('#hint').data('content','h1 content')
console.log( $('#hint').data('content') ) // 'h1 content'

属性を変更したい場合は、attrメソッドの代わりにdataメソッドを使用できますが、jQuery はプロパティとはdata-*異なる方法で処理することに注意してください (古いブラウザー + IE ではサポートされていません)。dataset

于 2013-02-14T12:32:19.390 に答える
1

これはうまくいくはずです。問題の考えられる解決策: 同じ ? を持つ複数の要素を作成していますidか?.

より詳細にするためにこれも試して、console.log検証に使用します。

var el = $('<a href="#" id="hint">Hint 1</a>').data('abc', 'xyz');
console.log(el.data('abc'))
$('#hints').after(el)
console.log($("#hint").data('abc'))
于 2013-02-14T12:35:09.047 に答える