gpt4 book ai didi

jQuery 属性选择器,其中值包含数组中的值

转载 作者:行者123 更新时间:2023-12-03 22:19:45 25 4
gpt4 key购买 nike

我有一堆带有属性的列表项。我想一次只选择其中的两个或三个。目前,我正在分割一个以逗号分隔的 id 列表,然后创建一个选择器数组供 jQuery 返回:

var ids = $(this).text().split(','); //e.g. text = 1,13,27
var selectors = [];
for (var index in ids)
{
selectors.push('.container ul.class li[data-id="'+ids[index]+'"]');
}
$(selectors.join(',')).addClass('active');

对于 Firefox 来说,这似乎是一种相当昂贵的方法。有没有办法对此进行优化,以便我可以选择具有包含任何 id 的 data-id 属性的任何 li?

类似于下面的内容,但是选择任何值?

var ids = $(this).text().split(','); //e.g. text = 1,13,27
$('.container ul.class li[data-id~="' + ids + '"]').addClass('active');

[编辑]

感谢@Alnitak的评论我已将循环更改为:

var ids= $(this).text().split(',');
var length = ids.length;
for (var i=0; i<length;i++)
{
selectors.push('.container ul.class li[data-id="'+ids[i]+'"]');
}

这已经带来了很大的进步,但是我还能做些什么吗?

最佳答案

怎么样:

var ids = "21,5,6,7,10".split(",");

// selector produced: [data-id='21'],[data-id='5'],[data-id='6'],[data-id='7'],[data-id='10']
$("[data-id='" + ids.join("'],[data-id='") + "']").addClass("active");

http://jsfiddle.net/3MNDy/

关于jQuery 属性选择器,其中值包含数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17274250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com