我有一堆帶有屬性的列表項。我一次只想選擇其中的兩個或三個。目前我split
荷蘭國際集團以逗號分隔的編號,然後選擇創建一個數組,jQuery的返回的列表: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]+'"]');
}
這帶來了一個很大的進步,但沒有任何更多的我能做什麼?
不使用'對... in'陣列上 - 這是枚舉_object keys_,不_array indices_。 – Alnitak
謝謝。我改變了'for ... in'中的for for(var i = 0; i