如何在没有子类的innerText的情况下在JavaScript中获得h1 innerText?

问题描述 投票:0回答:1

我想获取<h1>的innerText而在范围内不包含innerText ...这是页面的HTML:

var title = document.querySelector('div.col-md-8.info-header h1');
title = title && title.innerText;
console.log(title);
<div class="col-md-12 header">
  <div class="col-md-8 info-header">
    <h1> This note is for h1 tag!!!!!! <span> this note is insidespan v226hql!!! </span>
    </h1>
  </div>
</div>

但是这将同时返回innerText<h1><span>

我该怎么办?

javascript html css-selectors
1个回答
2
投票

选择父级后,必须选择其子级文本节点,并获取该节点的内容:

const h1 = document.querySelector('div.col-md-8.info-header h1');
const text = h1.childNodes[0].textContent;
console.log(text);
<div class="col-md-12 header">
  <div class="col-md-8 info-header">
    <h1> This note is for h1 tag!!!!!! <span> this note is insidespan v226hql!!! </span>
    </h1>
  </div>
</div>

不幸的是,没有办法直接导航到带有查询字符串的文本节点,因此您必须先通过childNodes

© www.soinside.com 2019 - 2024. All rights reserved.