我有html
:
<div class="item" data-value="1">item</div>
js
:
$('.item[data-value="1"]').data('value', 2');
所以,现在我.item
与data-value="2"
,我想通过jQuery获取它:
$('.item[data-value="2"]')
返回[]
我知道问题在于,jQuery会更改数据值而不会更改data-value
属性。我知道,问题可以通过使用attr
方法而不是data
来解决。
但有没有办法通过data
方法获取data
方法改变data
的对象?
答案 0 :(得分:1)
您可以使用filter
和data
方法过滤元素。
$('.item').filter(function() {
return $(this).data('value') === '2';
});
答案 1 :(得分:1)
使用this answer中的函数,您只需编写:
$('.item:data(value==2)');
答案 2 :(得分:0)
您已关闭括号false:
$('.item[data-value="2"]')
应该使用
.attr('data-value', 2)
更新数据值:)