Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery按属性查找元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery按属性查找元素

Javascript 使用jQuery按属性查找元素,javascript,jquery,html,Javascript,Jquery,Html,如何查找文档中data num属性大于或等于(例如251)的所有元素?我更喜欢使用jQuery。您希望使用选择器,然后基于值 $('[data-num]').filter(function(){ if (parseInt(this.getAttribute('data-num')) >= 251){ return true; } else{ return false; } }) $('[data-num]').filter(

如何查找文档中data num属性大于或等于(例如251)的所有元素?我更喜欢使用jQuery。

您希望使用选择器,然后基于值

$('[data-num]').filter(function(){
    if (parseInt(this.getAttribute('data-num')) >= 251){
        return true;
    }
    else{
        return false;
    }
})
$('[data-num]').filter(function(){
    return parseInt($(this).data('num'), 10) >= 251;
});
演示:

更新:根据您的评论,如果要更新数据num值,可以执行以下操作:

$('[data-num]').filter(function(){
    var num = parseInt($(this).data('num'), 10);
    if(num >= 251){
        $(this).data('num', num+1);
        return true;
    }
    return false;
});
您希望使用选择器,然后基于该值

$('[data-num]').filter(function(){
    return parseInt($(this).data('num'), 10) >= 251;
});
演示:

更新:根据您的评论,如果要更新数据num值,可以执行以下操作:

$('[data-num]').filter(function(){
    var num = parseInt($(this).data('num'), 10);
    if(num >= 251){
        $(this).data('num', num+1);
        return true;
    }
    return false;
});

你的意思是“数据数量属性”而不是“数据数量参数”?你的意思是“数据数量属性”而不是“数据数量参数”?一个问题。。。我能以某种方式增加过滤掉的元素的数据数量吗?我尝试了
attr('data-add'),$(this.data('add')+diff)但它不工作;)很抱歉问了这么一个蹩脚的问题,我对这个完全陌生jQuery@user1559555:检查我的编辑,你可以尝试类似的方法。或者您可以在
.filter
之后使用
.each
来增加值。不过有一个问题。。。我能以某种方式增加过滤掉的元素的数据数量吗?我尝试了
attr('data-add'),$(this.data('add')+diff)但它不工作;)很抱歉问了这么一个蹩脚的问题,我对这个完全陌生jQuery@user1559555:检查我的编辑,你可以尝试类似的方法。或者您可以在
.filter
之后使用
.each
来增加值。+1我喜欢您使用
this.getAttribute()
而不是
$(this.data()
,因为这里不需要jQuery,而且原生JS会更快。OP应该知道,
$(“[data num]”)
不会很快,因为它必须检查文档中的每个对象。+1我喜欢您使用
this.getAttribute()
而不是
$(this.data()
,因为这里不需要jQuery,而且原生JS会更快。OP应该知道,
$(“[data num]”)
不会很快,因为它必须检查文档中的每个对象。