2012-09-19 89 views
3

我有这样的事情JQuery的 - 获得元素槽ID,然后通过类选择

<div id="div1"> 
    <span class="label">some text</span> 
</div> 
<div id="div2"> 
    <span class="label">some text</span> 
</div> 

我想通过ID,然后THROU类选择一个给定的范围。像#div1.label#div2.span,但这种方式不起作用。我怎么能?

回答

10

使用空间指示元素是子:

$('#div1 .label'); 
$('#div2 span'); 
$('#div2 span.label'); 

#div1.label将选择id为div1的元素和一类的标签。

4

你可以做

$("#div1 span.label") 
如果你使用

#div1.label你其实选择与ID div1的元素,并具有类label

3

你几乎有它:

$("#div1 .label"); 

Descendant Selector

选择是一个给定的祖先的后代的所有元素。


你也可以使其更加具体:

$("#div1 > .label"); 

Child Selector

选择由 “父母” 指定元素的 “小孩” 中规定的所有直接子元素。

1

它应该是$('#div1 .label')$('#div2 span')。你需要用空格分隔

1

#div1.label或#div2.span

您所想的是错误的,在你选择你抓住,DIV1的ID与DIV1的类。 标签。 (这是不是你的HTML的结构的方式,你在找什么)

您需要这些是:

$('#div1 .label'); 
$('#div2 .label'); 

空间其间只是在CSS语法,它寻找一个子元素,在这种情况下,需要一类标签的(你也可以把在span.label甚至更​​特异性)

如果你希望它是更模糊,捕获所有的div,跨度。标签里面你可以做:

$('div span.label'); // this would capture all of them 
$('div[id^="div"] span.label'); // assuming they all start with the ID "div" then a #