Скрипка : https://jsfiddle.net/1b81gv7q/
Извинения за несколько непонятный заголовок; Я не мог придумать лучшего выражения.
В любом случае, допустим, у меня есть контейнер с контентом, который я хочу динамически поменять.
Как мне заменить все в template
DOM-узле , кроме на static-container
? Обратите внимание, что таргетинг на h1
и p
, в частности, не является допустимым решением. Весь контейнер template
должен быть заменен, но static-container
должен быть сохранен и должен (конструктивно) оставаться там, где он находится, как последний дочерний элемент template
.
Не ищем React / Vue / Angular / Framework-зависимых решений. Только для JS или JQuery, пожалуйста.
$('button').click(function() {
let newTemplate = $('.new-template').html();
$('.template').html(newTemplate);
});
.new-template {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<div class="template">
<h1>header #1</h1>
<p>some text for #1</p>
<div class="static-container">
<div>
<p>a b c 1 2 3</p>
<p>d e f 4 5 6</p>
</div>
</div>
</div>
</div>
<button>change template</button>
<div class="new-template">
<h1>header #2</h1>
<p>some text for #2</p>
<div class="static-container"></div>
</div>