Как использовать селекторы jQuery на обернутых массивах jQuery - PullRequest
2 голосов
/ 13 июля 2010

У меня есть массив, заполненный искусственно созданными элементами опций, способ их создания следующий:

var daysArr = new Array();
for(i=1; i<=31; i++){
    daysArr.push('<option value="'+ i +'">'+ i +'</option>');
}
$(daysArr.join(''));

Я пытаюсь использовать селектор в этом массиве, например:

$(daysArr.join('')).find('option:lt(5)');

Единственное, что я получил, это пустой массив, даже для .find ('option'); В документации jQ есть следующая информация для селектора lt () :

Выбрать все элементы с индексом, который меньше индекса в соответствующем наборе.

Массив Mine - это массив индексных типов. Я буду рад, если кто-нибудь скажет мне, откуда возникла проблема.

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

daysArr - это ваш массив опций.Попытка find() что-то в них упадет на один уровень слишком глубоко.

Это сработало бы, если бы вы сделали что-то вроде этого:

$('<select>' + daysArr.join('') + '</select>').find('option:lt(5)');

Но, конечно, более простой способдостижение того же было бы

daysArr.slice(0,5);
1 голос
/ 13 июля 2010
var daysArr = $('<select>');
for(i=1; i<=31; i++){
   daysArr.append('<option value="'+ i +'">'+ i +'</option>');
}

daysArr.children('option:gt(5)')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...