Javascript 获取元素的文本

标签 javascript jquery

我想使用 javascript 或 jquery 获取元素的根文本,换句话说,元素中而不是子元素中的文本。 JavaScript innerText返回元素和子元素中的所有文本,但我只想获取父元素文本。例如参见这个

<div>
    Text1
    <div>
        Text2
    </div>
</div>

如果我使用javascript innerTexttextContent它返回Text1 Text2但我只想得到 Text1

我怎样才能完成这项工作?

最佳答案

您可以使用contents()获取container元素的所有内容,然后使用filter()查找Node.nodeType

var text = $('div#container').contents().filter(function() {
  return this.nodeType == Node.TEXT_NODE
}).get(0).nodeValue;
alert(text)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='container'>
  Text1
  <div>
    Text2
  </div>
</div>

关于Javascript 获取元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37224324/

相关文章:

php - jquery mobile 不会触发 pageinit 或 ready

php - 我可以将所需文件的全部内容存储在 JavaScript 变量中吗?

javascript - JQuery/Javascript - ".click()"方法不完全有效?

javascript - 调用AJAX时如何显示进度条?

javascript - 触发媒体查询断点时刷新页面

javascript - .click() 的原始 Javascript 版本

javascript - React Native 在设备上运行时出现错误

javascript - 模拟 <a> 元素的行为

javascript - websocket javascript 读写

针对动态字段的 jquery 验证