2012-01-19 33 views
4
<div class="container"> 
    <a href="#" class="link">asd</a> 
    [I want get this text] 
    <a href="#" class="link">asd</a> 
    Anouther text i dont need. 
</div> 

如何取消元素之間的文本(而不是元素的內部文本,在這種情況下,我應該得到「[我要獲取此文本]」)?如何獲得2個元素之間的文本

+0

的文本塊也都在DOM樹節點,並會顯示爲股利的一部分。容器的childNodes –

+0

'firstAnchor.nextSibling.data'其中'firstAnchor'是對第一個A元素的引用。 –

+0

謝謝Marc,我沒有想過純文本也是DOM中的一個節點 – Fisher

回答

7

DEMO

我認爲最簡單的辦法是應對本土DOM元素:

var a = $(".container a")[0]; 
var textNode = a.nextSibling; 
var text = textNode.textContent; 

注意var text = textNode.nodeValue;也將工作,但我不知道這是優選的。

0

一種方式是包圍在span標記的部分,並得到跨度的內容:

<div class="container"> 
     <a href="#" class="link">asd</a> 
     <span id="i_want_this">[I want get this text]</span> 
     <a href="#" class="link">asd</a> 
     Anouther text i dont need. 
</div> 

myVal = $("#i_want_this").html(); 
+1

如果我能做到這一點,我不會問這個問題;] – Fisher

相關問題