2010-05-18 22 views
1

的jQuery - 選擇沒有給予HTML孩子

<div> 
    <span class="a">a 
     <span class="b">b</span> 
    </span> 
<div> 

是否有可能只選擇第一跨度,而不是它的孩子嗎?

調用的子節點$('div span.a').text()打印的「B」還有「一」

回答

2
var span1 = $("span.a").clone(); 
$(span1).children().remove(); 
var text = $(span1).text(); 
4

你可能會更好寫出更好的HTML結構,如:

<div> 
    <span class="c"> 
     <span class="a">a</span> 
     <span class="b">b</span> 
    </span> 
</div> 

但你可以這樣做:

var text = $('div span.a').clone().find('*').remove().end().text(); 
+0

在'.text()'後面加上'.trim()'也是值得的,這取決於你是如何通過唱它會處理空白。剛剛碰到這個,我想我會提到它。 – Wakeuphate 2012-05-25 10:22:34