如果我点击#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"
答案 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()
答案 1 :(得分:4)
如果结构总是如此,您可以致电:
var mytext = $('#parent').contents().first().text();