2010-06-24 52 views
3
<cite> 
    text here... 
    <a id="target_element"></a> 
</cite> 

如何獲取#target_element之前的文本?

+0

你可以介紹一下#target_element父節點嗎? – 2010-06-24 09:15:04

回答

3
$("#target_element").parent().contents().filter(function(){ 
     return this.nodeType == 3; 
}).text(); 

demo

2

這是不是最漂亮的解決方案,但它會在特定的情況下工作:

$('#target_element').parent().text(); 

最好是把該文本在其他的元素,如跨度。否則,該文本可能很容易混淆。如果是跨度,你可以這樣做:

$('#target_element').prev().text(); 

這樣你會遇到更少的錯誤。


編輯

我發現another way

var elementClone = $('#target_element').clone(); 
elementClone.children().remove(); 
elementClone.text(); 
+0

這是否有一個通用的解決方案? – wamp 2010-06-24 09:17:50

+0

但是這也會得到''的文字......我不確定OP是否需要... – Reigel 2010-06-24 09:19:01

0

,第一時間作出更換的地方:

<div id="target"></div> 
<a id="target_element"></a> 
相關問題