jquery:从div而不是孩子返回html

时间:2010-10-08 13:37:04

标签: javascript jquery text

如果我点击#parent我想在其中返回文字而会在嵌套文本中返回文字  图层(#child-parent#child

<div id='parent'>
   this text is for parent

   <div id='child-parent'> 
     this text if for child-parent  

       <div id='child'>
        and this text is for child.   
       </div>   

   </div>

</div>


这样的:
$('#parent').html() = "this text is for parent"

而不是这个:
$('#parent').html() = "this text is for parent this text is for child-parent and this text is for child"

2 个答案:

答案 0 :(得分:4)

你可以这样抓住它:

$('#parent').clone().children().remove().end().html()

You can test it out here,您可能希望在$.trim()进行like this来电。{/ 3}。

另一种选择是循环文本节点,如下所示:

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

You can test that herethe trimmed version here

答案 1 :(得分:4)

如果结构总是如此,您可以致电:

var mytext = $('#parent').contents().first().text();

示例:http://www.jsfiddle.net/YjC6y/