如果我有这样的html:
<;li id=“listItem”>;
这是一些文本
<;span id=“firstSpan”>;第一跨文本</span>;
<;span id=“secondSpan”>;第二跨文本</span>;
</李>;
我试图使用.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();