Как очистить страницу от продуктов деятельности js?


Васо Вчеразаши
438

Доброго здоровьица. Возможно в сети полно примеров решения, но не могу коротко сформулировать вопрос.

Выполнение скрипта повешано на кнопку, при нажатии в хтмл страницы вставляются дополнительные элементы. Вопрос в том, как при последующем нажатии на кнопку сначала очистить страницу от ранее созданных элементов, а затем создать новые без перезагрузки страницы?


function Start(){
ris.append(ryad); //В блок ris вставляется несколько элементов ryad
}

Может есть такая функция, которая удаляет результаты от предыдущего цикла? Знаю метод remove(), но не получается его прикрутить для корректной работы.

Пробовал так:


function Start(){
ris.append(ryad); //В блок ris вставляется несколько элементов ryad
var del = document.getElementsByTagName("button")[0];
del.onclick = function () {ryad.remove();};
}

Но при последующих нажатиях на кнопку из хтмл удаляется по одному (за нажатие) элементу ryad и не создаются новые.


Sitealert

Васо Вчеразаши:
не могу коротко сформулировать вопрос.

Слово «коротко» здесь лишнее. Вместо него следует написать «правильно».

Васо Вчеразаши:
Может есть такая функция, которая удаляет результаты от предыдущего цикла?

Может быть, и есть. Например,

ris.html(ryad)

А может быть, и по-другому, в зависимости от задачи.

И не вижу там никакого цикла, ни предыдущего, ни последующего.


Васо Вчеразаши

Sitealert:

И не вижу там никакого цикла, ни предыдущего, ни последующего.

Видимо я неправильно выразился: все что в function Start(){…} создает блоки в хтмл странице. Нужно удалить эти блоки, если function Start(){…} будет выполняться еще раз.

ris.html(ryad)

Что делает этот код? Поиск говорит, что html() — метод из библиотеки джеквери, у меня библиотека не используется.


Sitealert

Васо Вчеразаши:
Что делает этот код?

Переписывает содержимое элемента ris.

———- Добавлено 03.02.2020 в 16:44 ———-

Васо Вчеразаши:
html() — метод из библиотеки джеквери, у меня библиотека не используется.

ris.innerHTML


Васо Вчеразаши

Sitealert:

ris.innerHTML

Благодарю. Получилось так:


function Start(){
var ris = document.querySelector('#risunok'); ris.innerHTML = "";
далее весь код скрипта...
}


Sitealert

Васо Вчеразаши:
Получилось так

Получилось или нет – это Вам виднее, я же со своей строны могу лишь заметить, что элемент искать по id правильнее всё же с помощью document.getElementById(‘risunok’)


SocFishing

Васо Вчеразаши:
Доброго здоровьица. Возможно в сети полно примеров решения, но не могу коротко сформулировать вопрос.
Выполнение скрипта повешано на кнопку, при нажатии в хтмл страницы вставляются дополнительные элементы. Вопрос в том, как при последующем нажатии на кнопку сначала очистить страницу от ранее созданных элементов, а затем создать новые без перезагрузки страницы?


function Start(){
ris.append(ryad); //В блок ris вставляется несколько элементов ryad
}

Может есть такая функция, которая удаляет результаты от предыдущего цикла? Знаю метод remove(), но не получается его прикрутить для корректной работы.
Пробовал так:


function Start(){
ris.append(ryad); //В блок ris вставляется несколько элементов ryad
var del = document.getElementsByTagName("button")[0];
del.onclick = function () {ryad.remove();};
}

Но при последующих нажатиях на кнопку из хтмл удаляется по одному (за нажатие) элементу ryad и не создаются новые.

ну например: https://jsfiddle.net/yn4tc7pv/

<a href=»#» onclick=»javascript:Start();»>start</a><br/>
<a href=»#» onclick=»javascript:xclear();»>clear</a>

<div id=»govnokod»></div>

<script>
var ris = document.getElementById(«govnokod»);

function Start(){
var ryad = document.createElement(‘div’);
ryad.innerHTML = «<h1>ноль, целковый, чекушка, порнушка, пердушка, засирушка, жучок, мудачок, хуй на воротничок, дурачок, ВСЕ.</h1>»;
ris.append(ryad);
}

function xclear() {
ris.remove();
}

</script>


Васо Вчеразаши

SocFishing:

("govnokod")

Очень показательно! Тем более выше подсказали решение в виде одной короткой строчки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *