使用jquery按数据属性选择元素

时间:2013-11-22 12:35:42

标签: jquery

有没有办法使用jQuery按数据属性选择元素? 我有一个div

<div class="remove">delete</div>

我已经像这样添加了数据属性:

$('.remove').attr('data-id', data._id);
$('.remove').attr('data-rev', data._rev);

我想要的是使用jQuery基于'data-id''data-rev'选择此元素。

谢谢!

5 个答案:

答案 0 :(得分:2)

尝试

$('.remove[data-id = "' + data._id + '"]');
$('.remove[data-rev = "' + data._rev + '"]');

如果您想同时检查data,则可以使用

$('.remove[data-id = "' + data._id + '"][data-rev = "' + data._rev + '"]');

答案 1 :(得分:2)

尝试:

$('.remove[data-id = "' + data_id + '"][data-rev = "' + data_rev + '"]');

答案 2 :(得分:1)

$('.remove[data-id="'+data._id+'"]');
$('.remove[data-rev="'+data._rev+'"]');

参考 attribute-equals-selector

答案 3 :(得分:1)

尝试attribute-equals-selector

$('.remove[data-id="'+data._id+'"]')
$('.remove[data-rev="'+data._rev+'"]');

答案 4 :(得分:1)

您可以使用.filter()执行此操作:

var $dataId = $('.remove').filter(function(){
    return $(this).data('id') === 'something';
});

var $dataRev = $('.remove').filter(function(){
    return $(this).data('rev') === 'something';
});

然后您可以使用以下变量:

$dataId.show();
$dataRev.hide();