2010-11-17 219 views
0

选项我有一个包含一个选择列表中的JavaScript对象。我想循环选择内的所有选项。我想以下几点:遍历JavaScript对象

$(this+' .form-select option').each(function() { console.log(this); });

这方面的一个的console.log表明,它包含的选项但所有页面上的选项元素不是选择,我传递给它。

我得到以下错误“未捕获的语法错误,无法识别的表达式:[对象的对象]”

任何帮助将是巨大的。

回答

1

使用.find(),像这样:

$(this).find('option').each(function() { console.log(this); }); 

this是一个对象,所以你不能在字符串中使用它,但是,您可以用它来寻找其他元素relatively。如果this已经是一个jQuery对象,只是做:

this.find('option').each(function() { console.log(this); }); 
0

我猜this不与它一个选择,在这种情况下,你的语句是无效的字符串。我的猜测是你的jQuery选择器应该是这样的:

$('.form-select option', $(this)).each(function(){ 
    console.log(this); 
}); 
+0

downvote的任何理由?只要选择器是有效的,它会在这个范围内搜索选择器......这似乎是OP想要的...... – 2010-11-17 14:47:00