首页 > 解决方案 > 如何获得只有

标签文本,包括标签

问题描述

<p class="aaa"> aaa <span class="bbb"> bbb </span> </p>

我只想得到文本'aaa'

document.querySelector('p.aaa').innerText --> 'aaabbb'

我如何才能只发短信 'aaa' ?

标签: javascripthtml

解决方案


此函数将从所选元素中排除任何子 HTML 元素的内容。它还将考虑子元素之前和之后的文本值。

function getText(selector) {
  return Array.from(document.querySelector(selector).childNodes)
    .reduce((text, node) => text + (node.wholeText || ''), '');
}

console.log(getText('p.aaa'));
<p class="aaa"> aaa <span class="bbb"> bbb </span> ccc </p>


推荐阅读