jQuery动态更新数据键和值
jQuery dynamically update data keys & values
我正在尝试创建一个从元素动态获取所有数据属性的函数。例如:
<button id="button" data-key1="title" data-key2="content">Button 1</button>
<button id="changeButtonData">Change data for button 1</button>
$(document).on('click', '#button', function(e){
e.preventDefault();
$buttonData = $(this).data();
console.log($buttonData);
}
$(document).on('click', '#changeButtonData', function(e){
e.preventDefault();
//edit existing data-keys value
$('#button').data('data-key1', 'newtitle');
//store new data-key on element
$('#button').data('data-key3', 'new');
}
问题是,如果我单击第一个按钮并检查控制台日志,它将显示data-key1="title"
和data-key2="content"
如果我之后单击第二个按钮,然后再次单击第一个按钮再次触发控制台日志记录,它不会显示新替换的数据属性或新的数据标记。
有人知道如何解决这个问题吗?
问题是因为当您设置 data
属性时,您应该省略data-
前缀,例如:$('#button').data('key3', 'new');
。试试这个:
$(document).on('click', '#changeButtonData', function (e) {
e.preventDefault();
$('#button').data({
'key1': 'newtitle',
'key3': 'new'
});
});
示例小提琴
相关文章:
- 如何使用javascript在JSON中动态获取键和值
- 通过angularjs迭代多个字典中的键和值
- JavaScript JSON关联对象键和值都作为日期时间戳
- 使用下划线将键和值的两个数组合并到一个对象中
- jQuery动态更新数据键和值
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 在javascript中解析json对象以获取键和值
- 如何为json键和值提供工具提示消息
- 使用JSON键和值动态创建一个表
- 将对象完全转换为键和值的数组:更好的解决方案
- 确定html属性键和值的角度指令
- Javascript移除已知值的键和值数组
- 如何循环json数组以获取javascript中的键和值
- 如何将用户定义的键和值添加到数组中
- 显示关联阵列中所有元素的键和值
- 如何从 javascript 对象中删除键和值
- JavaScript:如何打印数组中的所有键和值
- 了解如何使用element获取数据绑定键和值可观察对象
- 将JSON数据转换为带有键和值的javascript对象
- 如何使用不同的键和值对从JSON文件中读取数据