如何从javascript中提取div中的文本而不从子div中提取?

时间:2016-07-19 08:57:38

标签: javascript

假设我有以下html:

<div class="targetDiv">
    Target text
    <div class="junkDiv">
          Text I don't want
    </div

</div>

我知道我可以找到这样的div并通过执行document.getElementsByClassName("thread")[x].innerText递归提取所有文本(其中x是我要从中提取的div的索引)。这将给我“我不想要的目标textText”。

我的问题是如何在不提取“我不想要的文字”的情况下提取“目标文本”?

6 个答案:

答案 0 :(得分:4)

使用childNodes属性。在您的情况下,childNodes[0]将包含文本元素。使用textContent获取文本元素的值:

document.getElementsByClassName('targetDiv')[0].childNodes[0].textContent;

答案 1 :(得分:3)

document.getElementsByClassName('targetDiv')[0].childNodes[0].textContent

答案 2 :(得分:2)

见下面的代码:

$(document).ready(function(){
  alert($(".targetDiv")
    .clone()
    .children()
    .remove()
    .end()
    .text());
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="targetDiv">
    Target text
    <div class="junkDiv">
          Text I don't want
    </div>

</div>

答案 3 :(得分:0)

您可以参考此link1link2

$state.go('tabs.searchresult').then(function() {
  cordova.plugins.Keyboard.show();
});

答案 4 :(得分:0)

你可以替换 目标文本 由

目标文本

在你的代码中调用getElementById(&#34; MyText&#34;)

答案 5 :(得分:0)

尝试document.getElementsByClassName("targetDiv")[x].textContent