更简洁的方法来选择多个可能的属性值?
是否有可能在jQuery中选择多个可能的属性值而不必使用逗号分隔的选择器列表。
所以代替:
#list1 > option[value="1"], #list1 > option[value="2"], etc
就像是:
#list1 > option[value="1"|value="2"], etc
从来没听说过。 我能想到的最干净的方法是首先选择在所有项目中使用公共元素,然后只使用.find()
或.filter()
OR值。
就像是
$('#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');