为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

RISEBY 2019-05-31 11:12:05
使用.text()只检索不嵌套在子标记中的文本如果我有这样的html:<li id="listItem">     This is some text    <span id="firstSpan">First span text</span>     <span id="secondSpan">Second span text</span></li>我试着用.text()检索字符串“这是一些文本”,但如果我说$('#list-item').text(),我得到了“这是一些TextFirst span textSecond span文本”。有没有办法(也可能是移除,通过类似的方法).text(""))仅仅是标签中的自由文本,而不是其子标记中的文本?HTML不是我写的,所以我必须使用它。我知道在编写html时用标记包装文本很简单,但同样,html是预先编写的。
查看完整描述

4 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

我喜欢基于clone()发现方法这里只获取父元素中的文本。

为便于参考而提供的代码:

$("#foo")
    .clone()    //clone the element
    .children() //select all the children
    .remove()   //remove all the children
    .end()  //again go back to selected element
    .text();


查看完整回答
反对 回复 2019-05-31
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

简单回答:

$("#listItem").contents().filter(function(){ 
  return this.nodeType == 3; })[0].nodeValue = "The text you want to replace with"


查看完整回答
反对 回复 2019-05-31
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

更容易和更快:

$("#listItem").contents().get(0).nodeValue


查看完整回答
反对 回复 2019-05-31
  • 4 回答
  • 0 关注
  • 565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信