一种通过多个可能的属性值进行选择的更干净的方法?

2021/01/31 01:31 · jquery ·  · 0评论

jQuery是否有可能通过多个可能的属性值进行选择,而不必使用逗号分隔的选择器列表。

因此,代替:

#list1 > option[value="1"], #list1 > option[value="2"], etc

就像是:

#list1 > option[value="1"|value="2"], etc

从来没听说过。我想到最干净的方法是,首先在所有项目中使用通用元素,然后选择“.find()或”或.filter()“或”取值。

就像是

$('#list1 > option[value]')
    .filter('[value="1"],[value="2"]')
    ;

您可以制作一个自定义jQuery函数,如下所示:

$.fn.filterAttrVals = function (attr, vals) {
    var filter = '[' + attr + '="' + vals.split(',').join('"],[' + attr + '="') + '"]';
    return this.filter(filter);
};

对于您的示例,可以按以下方式使用它:

$('#list1 > option').filterAttrVals('value','1,2');
本文地址:http://jquery.askforanswer.com/yizhongtongguoduogekenengdeshuxingzhijinxingxuanzedegengganjingdefangfa.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!