2012-07-17 104 views
1

鑑於這個網站:jQuery是否選擇元素中未包含元素的文本?

<div id='tst1'> 
    <div id='tst2'>tst2</div> 
    <div id='tst3'>tst3</div> 
    this is the text i want 
</div> 

如何選擇爲「這是我想要的文字」文本? $('#tst1').text()給出了tst1中包含的所有文本元素(例如tst2,tst3等)。

我不能依靠知道包含的包裹元素(上面的tst2,tst3)的id,但我可以依賴我想要在組中最後列出的文本。

回答

5

試試這個PLZ:

工作演示http://jsfiddle.net/We7mZ/,你也可以尋找innerHTMloutterHTML

jQuery.fn.justtext = function() { 

    return $(this).clone() 
      .children() 
      .remove() 
      .end() 
      .text(); 

}; 
alert($('#tst1').justtext());​ 
+0

很好完成。還沒有做過像這樣的過濾器。謝謝! – mix 2012-07-17 00:17:19

+0

@mix不用擔心!很高興它幫助':)' – 2012-07-17 00:17:46

+1

+1一個偉大的插件:) – undefined 2012-07-17 00:33:54

0

或者,也許這一點,如果劉以達建議不起作用:

var text = $('#tst1').text(); 
text.substr(-23); 
+0

這不是'substr()'的正確語法:應該是'text.substr(-23)',或者爲了更好的跨瀏覽器支持'text.slice(-23)',但是甚至忽略了我不認爲OP提前知道文本的長度。 – nnnnnn 2012-07-17 00:06:25

+0

哈哈,最近php太多了;)編輯它...是的,如果它只是不是特定的文本,它真的不好。 – NewInTheBusiness 2012-07-17 00:11:32

+0

是的,我不能指望具體...只是一般的格式 – mix 2012-07-17 00:17:39