jQuery.data ('abc' ,'xyz' ) 不改变 data-abc

标签 jquery dom custom-data-attribute

我有一个工作函数:

$('#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/

相关文章:

jQuery DataTables column.width 选项未按预期工作

jquery - 如何将 jquery 选择器仅应用于可见的复选框?

javascript - 当页面在移动设备上滚动得太远时,DOM 中会发生什么?

html - 在 Thymeleaf 中创建空数据属性

javascript - jQuery 插件 select2 的 data-* 属性与 Backbone 兼容吗?

javascript - 检查字符串是否有句点(十进制)w/jQuery?

javascript - 尝试在 foreach 循环中将变量传递到对象的方法构造函数时出现范围问题

javascript - JS UNDO DOM 修改

javascript获取当前页面的html

javascript - 具有数据属性的多个下拉菜单切换