jQuery如何选择不在标签中的文字??

图片描述

如图,如果要通过jQuery获取“中国大陆”四个字,有什么可行的办法吗?

阅读 5.1k
2 个回答

举个例子,假如代码如下

<div class='myDiv'>
  <p>hello</p>
  hello
  <p>Hello</p>
</div>

可以这样获取无标签的 hello(第二个)

$('.myDiv')
  .contents()
  .filter(function() {
    return this.nodeType == Node.TEXT_NODE;
  }).text();

简单说下原理 nodeType 为 3 时是无标签的纯文本节点(即代码里的 Node.TEXT_NODE),

假如你一段代码里包含多个纯文本节点可以循环遍历处理。

这里我不知道你上面代码的节点有几个,只给个简单的解决方案,

var str = document.getElementById("p1");  //用原生方法nextSibling
console.log(str.nextSibling);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题