如何在jQuery包装数组上使用jQuery选择器

时间:2010-07-13 11:58:28

标签: jquery jquery-selectors

我有一个填充了人工创建选项元素的数组,我创建它们的方式如下:

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 个答案:

答案 0 :(得分:2)

daysArr 您的选项数组。尝试find()中的某些内容会过于深入一层。

如果你做这样的事情会有用:

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

但当然,实现相同目标的更简单方法是

daysArr.slice(0,5);

答案 1 :(得分:1)

var daysArr = $('<select>');
for(i=1; i<=31; i++){
   daysArr.append('<option value="'+ i +'">'+ i +'</option>');
}

daysArr.children('option:gt(5)')