我有一个工作函数:
$('#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>
标签。
最佳答案
data
属性映射到 dataset
DOM Element 对象的属性,您的代码应该可以工作,您看不到它发生更改,因为它是属性而不是属性。
$('#hint').data('content','h1 content')
console.log( $('#hint').data('content') ) // 'h1 content'
如果您想更改属性,可以使用 attr
方法而不是 data
方法,但是请注意 jQuery 处理 data-*
与 dataset
属性不同(旧版浏览器 + IE 不支持该属性)。
关于jQuery.data ('abc' ,'xyz' ) 不改变 data-abc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14874903/