2012-10-30 137 views
0

See this fiddle for code结合jQuery选择(选择和id)

我有一个页面上有两个select控制,我想用的ID的组合以及控制种类来选择其中之一。

如果我使用ID和控件类型,jquery返回的长度为0

$('#bothCount').text($('#Title select').length); 

注:在其他一些网页,我有ID Title输入,这就是为什么我要筛选下来,只选择控制。

+1

你的意思是'$('select#Title')。length'? '$('#Title select')。length'是否有意义?您正在尝试查找ID为“Title”的元素中的select元素。 – undefined

+0

ID必须是唯一的。如果你没有使用唯一的ID,你可能会得到意想不到的结果。 –

回答

4

的选择

#Title select 

...是一个descendant selector。它寻找任何select这是idTitle元素的后代。

如果你真的想要的标签和id结合起来,你做这样的:

select#Title 

如:

$('#bothCount').text($('select#Title').length); 

注意,通常有小点,这样做,但是,因为id值在页面上必须是唯一的。我知道的唯一用例是如果你不知道该元素将具有什么标签,并且只想对其采取行动如果它具有特定的标签类型,这肯定是边缘情况。

2

改变你的jQuery来此:

$('#idCount').text($('#Title').length); 

$('#bothCount').text($('select#Title').length); 

$('#tagCount').text($('select').length); 

通知,现在select#Title是之前你试图使用后代选择。

这是更新的jsFiddle