У меня есть следующий код:Правильный способ добавить HTML в JQuery/JavaScript
<section class="section1">
//Section one content
</section>
<section class="section2">
<h4>Some Title</h4>
<input type="hidden" class="keys" value="1"/>
<div id="block-close-1"></div>
<div class="block" id="block-1">
//Block content
</div>
</section>
<section class="section3">
//Section3 content
</section>
То, что я хочу сделать, это принять некоторые HTML и вставьте его после того, как "блок-1"
HTML-I хотел бы добавить, выглядит так:
<input type="hidden" class="keys" value="2"/>
<div id="block-close-2"></div>
<div class="block" id="block-2">
//Block content
</div>
Я попытался это:
var html = '//code as above';
$("html").insertAfter("#block-1");
Ошибки я получаю это:
Uncaught HierarchyRequestError: Failed to execute 'insertBefore' on 'Node': The new child element contains the parent.
Я также попытался это:. document.getElementById ('# блок-4') AppendChild (HTML);
Ошибка:
Uncaught TypeError: Cannot read property 'appendChild' of null
Что такое правильный способ, чтобы добавить новый HTML в существующий HTML?
В вашем случае 'html' является переменной, поэтому вам нужно использовать' $ (html) .insertAfter ("# block-1"); '(без кавычек (как ответил @Elentriel)) или использовать код типа это '$ ("