2013-04-15 60 views
1

我正在为我们的网站编写一项新功能,并希望开始使用jQuery来现代化我们的JavaScript。我在选择表格中的元素时遇到了一些问题。我的问题是,我们这样做的传统方式工作,但jQuery的方式似乎没有工作。我意识到每个人都会立即要求提供HTML,但提取这些内容需要一些时间来删除大量不相关的垃圾。此刻,我只是想知道我是否搞砸了语法。在句法上,这是正确的吗?我正在使用jQuery 1.9.1。DOM select works,jquery does not

// no messages :-(
$('censusGrid').find('select').each(function() { alert($(this)); }); 

// messages :-) 
var elements = document.getElementById('censusGrid').getElementsByTagName('select'); 
for (var i = 0; i < elements.length; i++) { 
    alert(elements[i]); 
} 
+1

你错过了'#'想想像CSS选择器的jQuery选择器(因为在大多数情况下它们是) –

回答

1

您的jQuery选择器不正确。如果你想通过ID找到东西,你可以使用css#选择器,如果你想通过类名找到东西,你可以使用css。选择。您的jQuery选择应该是这样的:

$('#censusGrid').find('select')... 
+0

令人尴尬的错误。但谢谢大家的澄清! – Rob

1

差不多,似乎censusGrid是一个ID,所以它应该是:

$('#censusGrid').find('select').each(function() { alert($(this)); }); 

基本上你就错过了#,表示你的选择是一个ID,如果没有它,它会指示标签的名称...

0

你在你的jQuery忘了#

$('#censusGrid').etc... 

#告诉jQuery的它是一个ID:

$('#selector') - finds <td id="selector"> 
$('selector') - finds <selector> 
$('.selector') - finds <td class="selector">