выберите содержимое div с DOM, но без дочернего - PullRequest
0 голосов
/ 18 марта 2020

есть HTML код:

<div id="parent">
    <p>111111</p>
    <div id="child">
        <p>22222</p>
        <div id="childer">
            <p>33333</p>
        </div>
    </div>
</div>

Я хочу выбрать только «22222» в абзаце div с id = child.

, но при использовании document.getElementById("child").textContent он вернется » 22222 "и" 33333 ". я не хочу использовать jQuery, кто-нибудь может мне помочь? спасибо

Ответы [ 4 ]

3 голосов
/ 18 марта 2020

Вы можете использовать querySelector(), больше информации здесь .

Метод Document querySelector () возвращает первый Element в пределах документ, который соответствует указанному селектору или группе селекторов. Если совпадений не найдено, возвращается ноль.

var value = document.querySelector('#child p').textContent;
console.log(value);
<div id="parent">
    <p>111111</p>
    <div id="child">
        <p>22222</p>
        <div id="childer">
            <p>33333</p>
        </div>
    </div>
</div>
2 голосов
/ 18 марта 2020

Вы можете попробовать использовать querySelector(), что позволяет CSS как селектор (#child p):

var elText = document.querySelector("#child p").textContent;
console.log(elText);
<div id="parent">
    <p>111111</p>
    <div id="child">
        <p>22222</p>
        <div id="childer">
            <p>33333</p>
        </div>
    </div>
</div>
1 голос
/ 18 марта 2020
document.getElementById("child").getElementsByTagName('p')[0].innerText; 
1 голос
/ 18 марта 2020

const setup = () => {
	const child = document.querySelector('#child');
  const p = child.querySelector('p');
  console.log(p.textContent);
};

//load
window.addEventListener('load', setup);
<html>
  <body>
    <div id="parent">
      <p>111111</p>
      <div id="child">
        <p>22222</p>
        <div id="childer">
          <p>33333</p>
        </div>
      </div>
    </div>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...