Jsem se snažil nahradit h2
pomocí JS. Dostávám Uncaught TypeError: Failed to execute 'replaceChild' on 'Node': parameter 2 is not of type 'Node'.
Zkoušel jsem převod:
let prevHeading = document.getElementsByClassName('my-title');
prevHeading = Array.from(prevHeading);
nefunguje.
<body>
<div id="outer-box" style="margin: 20px;">
<h2 class="my-title">OLD TITLE</h2>
<div class="inner-box">
<ul class="main-list">
<li class="list-item">List Item 1</li>
<li class="list-item">List Item 2</li>
<li class="list-item">List Item 3</li>
<li class="list-item">List Item 4</li>
<li class="list-item">List Item 5</li>
</ul>
</div>
</div>
</body>
const newHeading = document.createElement('h2');
newHeading.className = 'my-title';
newHeading.appendChild(document.createTextNode('NEW TITLE'));
const prevHeading = document.getElementsByClassName('my-title');
const outerBox = document.querySelector('#outer-box');
outerBox.replaceChild(newHeading, prevHeading);
Mohla bych použít prevHeading[0]
ale já chci jen vědět, proč to nefunguje.
To také funguje s:
const prevHeading = document.querySelector('.my-title');