怎么获取这段DOM元素中的文字结点?

<div id='test'> asdfgh <span class='cancel-btn'>×</span></div>

想只获得'asdfgh' 要怎么获得呢? 用jquery或者原生js都可以,谢谢各位大佬T_T

阅读 4.2k
5 个回答

你敢不敢在排版的时候给他加个标签了,干嘛非要跟自己过不去了

innerText


上边为没看清题的手机回答,以下为正确答案:

如果确定里边仅仅会多一个x的话,最简单的就是.innerText.replace(/x$/, '')

如果是要过滤掉其中的标签的话,可以这么来:
innerHTML.replace(/<.*?>.*?<\/.*?>/g, '')

你这个排版有问题啊,如果按照你这个排版来获取的话
$("#test").text().split($(".cancel-btn").text())[0]

var p = $("#test").text()
var c = $(".cancel-btn").text()
var i = p.lastIndexOf(c)
var r = p.slice(0, i)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题