我有一个填充了人工创建选项元素的数组,我创建它们的方式如下:
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数组是一个索引类型数组。 如果有人能告诉我问题出在哪里,我会很高兴。
答案 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)')