1

我有html

<div class="item" data-value="1">item</div>

并且js

$('.item[data-value="1"]').data('value', 2');

所以,现在我有了.itemdata-value="2"我想通过 jQuery 得到它:

$('.item[data-value="2"]')

它返回[]

我知道问题出在事实上,jQuery 更改数据值而不更改data-value属性。我知道,可以通过使用attr方法而不是data.

但是有没有办法通过改变方法来data获取data对象data

4

3 回答 3

1

filter您可以使用和data方法过滤元素。

$('.item').filter(function() {
   return $(this).data('value') === '2';
});

http://jsfiddle.net/3dfX7/

于 2013-05-01T21:25:36.383 回答
1

使用这个答案中的函数,你可以写:

$('.item:data(value==2)');
于 2013-05-01T21:30:01.297 回答
0

你已经关闭了括号 false:

$('.item[data-value="2"]')

应该使用

.attr('data-value', 2)

更新数据值:)

于 2013-05-01T21:18:33.700 回答