使用.text()仅检索未嵌套在子标记中的文本

如果我有这样的html:

<li id=“listItem”>
这是一些文本
<span id=“firstSpan”>第一跨文本&lt/span>
<span id=“secondSpan”>第二跨文本&lt/span>
&lt/李>

我试图使用.text()仅检索字符串“This is some text”,但如果我说$(“#列表项”).text(),我会得到“This is some text first span text second span text”

有没有一种方法可以只获取(或者可能通过.text(“”)标记中的自由文本,而不获取其子标记中的文本

HTML不是我写的,所以这是我必须处理的。我知道在编写html时,只需将文本包装在标记中是很简单的,但是,html是预先编写的

我喜欢这个基于clone()方法的可重用实现,该方法只获取父元素中的文本

提供代码以供参考:

$(“foo”)
.clone()//克隆元素
.children()//选择所有子项
.remove()//删除所有子项
.end()//再次返回到所选元素
.text();

发表评论