2012-09-19 135 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 #