Добавить дочерний такой же текстовый узел не работает - PullRequest
0 голосов
/ 01 августа 2020

Я нашел ответ. Вставьте элемент HTML два (или более) раза, используя JavaScript

Но мне нужны глубокие знания об этом. Как это произошло без l oop или клонирования?

let strong = document.createElement('strong');
let text = document.createTextNode('text');
strong.appendChild(text);

let p = document.querySelector('p')
p.appendChild(strong);

// let anotherText = document.createTextNode('anotherText');
// document.querySelector('strong').appendChild(anotherText)

document.querySelector('strong').appendChild(text);

если вы раскомментируете строки, то anotherText будет добавлен к сильному тегу. Почему последняя не работает?

Ссылка есть что ли?

Ответы [ 2 ]

0 голосов
/ 01 августа 2020

Просто нужно больше разъяснений. Но эта последняя строка не может работать, потому что текстовый узел уже добавлен в strong.

strong = document.createElement('strong');
let text = document.createTextNode('text');
strong.appendChild(text); //You already did the same here 

let p = document.querySelector('p')
p.appendChild(strong);

// let anotherText = document.createTextNode('anotherText');
// document.querySelector('strong').appendChild(anotherText)

document.querySelector('strong').appendChild(text); //This is already executed at strong.appendC... 
0 голосов
/ 01 августа 2020

let strong = document.createElement('strong');
let text = document.createTextNode('text');
strong.appendChild(text);

let p = document.querySelector('p')
p.appendChild(strong);

// let anotherText = document.createTextNode('anotherText');
// document.querySelector('strong').appendChild(anotherText)

document.querySelector('strong').appendChild(text);
<p></p>

Даже если я раскомментирую прокомментированную строку, это не сработает. Значит, sotrong еще не вставлен в документ, поиск его через querySelector даст undefined. Поэтому сначала его нужно вставить в дом, тогда ваш document.querySelector ('strong') будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...