通过多个可能的属性值进行选择的更清晰的方法?

发布于 2024-10-27 20:00:15 字数 237 浏览 2 评论 0原文

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

所以不要这样

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

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

Is there a possibility in jQuery to select by multiple possible attribute values without having to use a comma separated list of selectors.

So in stead of:

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

Something like:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮世清欢 2024-11-03 20:00:15

据我所知没有。我能想到的最干净的方法是首先选择使用所有项目中的公共元素,然后只需 .find().filter()< /code> OR 值输出。

像这样的东西

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

Not that I know of. The cleanest way I can think of doing this is to first select using the common elements across all items, then just .find() or .filter() the OR values out.

Something like

$('#list1 > option[value]')
    .filter('[value="1"],[value="2"]')
    ;
橘寄 2024-11-03 20:00:15

您可以像这样创建自定义 jQuery 函数:

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

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

$('#list1 > option').filterAttrVals('value','1,2');

You can make a custom jQuery function like this:

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

For your example you could use it in the following way:

$('#list1 > option').filterAttrVals('value','1,2');
悲凉≈ 2024-11-03 20:00:15

你可以这样做

var valuesNeeded = [1,2,etc];

$('#list1 > option').filter(function( index ) {
    return valuesNeeded.indexOf($(this).attr('value')) != -1;
});

You can do this

var valuesNeeded = [1,2,etc];

$('#list1 > option').filter(function( index ) {
    return valuesNeeded.indexOf($(this).attr('value')) != -1;
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文