使用jQuery按属性查找元素
您要使用的"has attribute"选择,然后filter基础上的价值。
$('[data-num]').filter(function(){
return parseInt($(this).data('num'), 10) >= 251;
});
DEMO:http://jsfiddle.net/xsvrv/
UPDATE:根据您的意见,如果你想更新数据,NUM值,你可以这样做:
$('[data-num]').filter(function(){
var num = parseInt($(this).data('num'), 10);
if(num >= 251){
$(this).data('num', num+1);
return true;
}
return false;
});
太棒了! – user1559555 2012-08-08 21:22:07
不客气:-) – 2012-08-08 21:24:39
虽然一个问题...我可以以某种方式增加过滤出来的元素的数据编号吗?我试过'attr('data-add',$(this).data('add')+ diff);'但它不起作用;)对不起这样一个蹩脚的问题,我对jQuery – user1559555 2012-08-08 21:32:31
$('[data-num]').filter(function(){
if (parseInt(this.getAttribute('data-num')) >= 251){
return true;
}
else{
return false;
}
})
你的意思是“数据-num属性“而不是”data-num参数“? – ggreiner 2012-08-08 21:12:20