Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменить html по условию (https://javascript.ru/forum/misc/75546-izmenit-html-po-usloviyu.html)

Castromen 18.10.2018 13:51

Изменить html по условию
 
Коллеги, добрый день.
Подскажите плз. как быть в данной ситуации

var j = "<div id="none">1</div><div>2</div><div>3</div>"
Как в пробежаться по j и убрать div с id "none"

Спасибо

j0hnik 18.10.2018 13:53

у вас J это строка или коллекция объектов?

Castromen 18.10.2018 14:01

j0hnik,
Строка

Artur_Hopf 18.10.2018 14:06

Если строка:
var j = "<div id=\"none\">1</div><div>2</div><div>3</div>";
alert(j.replace("none", ""));

Хотя нет, удалить то div надо, сейчас придумаем регулярочку =)

Castromen 18.10.2018 14:07

Artur_Hopf,
Спасибо но как исключить конкретный div не его свойство а сам блок.

рони 18.10.2018 14:09

Цитата:

Сообщение от Castromen
div с классам

Цитата:

Сообщение от Castromen
id="none

:-?

Dilettante_Pro 18.10.2018 14:19

Во-первых, это неправильная строка, во-вторых - в ней нет класса "none".

Через DOM
<div id="container"></div>
<script>
var str = '<div class="none">1</div><div>2</div><div class="none">3</div><div>4</div>';
container.innerHTML= str;
[].forEach.call(document.querySelectorAll(".none"), function(it) {
      container.removeChild(it);
});
str = container.innerHTML;
alert(str);
</script>

Artur_Hopf 18.10.2018 14:47

Вот такую страшную регулярку еще можно :p
var j = "<div class =\"defdf\" id=\"none\">test</div><div>2</div><div>3</div><div id=\"none\">привет</div><div>3</div>";
alert(j.replace(/<div[^<>]+id="none"[ >="'а-яА-ЯёЁa-zA-Z0-9]+<\/div>/gi, ""));


Часовой пояс GMT +3, время: 07:51.