Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   в переменной найти и вытащить в другую переменную (https://javascript.ru/forum/misc/76241-v-peremennojj-najjti-i-vytashhit-v-druguyu-peremennuyu.html)

Sergey1986 16.12.2018 23:08

в переменной найти и вытащить в другую переменную
 
Добрый день

с сеовера приходит вот такая штука
<div id='flag'>
<div>....content.....</div>
</div>

как мне из этого вычленить <div>....content.....</div>
и вставить в переменную?

вот есть такое
HTML = тут ответ от сервера
const div = document.createElement('div');
div.innerHTML = HTML;
const content = div.querySelector('#flag');

но это выдает все вместе с <div id='flag'>...а нужно что внутри...

Заранее спасибо!

рони 16.12.2018 23:15

Sergey1986,
const content = div.querySelector('#flag div').innerHTML;

Sergey1986 16.12.2018 23:19

а если внутренняя часть начинается с произвольной разметки, знаем то только что именно div с id=flag

Sergey1986 16.12.2018 23:21

внутрення часть может быть произвольной

j0hnik 17.12.2018 00:34

const content = div.querySelector('#flag > *').innerHTML;

Sergey1986 17.12.2018 01:15

если
<div id='falg'>
<div>
1
</div
<div>
2
</div
</div>

берет только
<div>
1
</div

остальное отрезает

Sergey1986 17.12.2018 01:19

const content = div.querySelector('#flag div').innerHTML;

вот это вариант работает!!!

СПАСИБО!

j0hnik 17.12.2018 01:23

const content = div.querySelector('#flag').textContent;

Sergey1986 17.12.2018 01:41

хм....уперся в новую проблему, и почему не получается не могу понять
есть цикл

for (var key in json) {
var HTML = json[key].html;
var div = document.createElement('div');
div.innerHTML = HTML;
var content = div.querySelector('#' + json[key].tag).innerHTML;

$('#' + json[key].tag).empty();
$('#' + json[key].tag).append(content);

}

для того что бы поменять в нескольких местах...

может кто поможет идей
просто использовывать
$('#' + json.html[key].tag).empty();
$('#' + json.html[key].tag).append(content);
не годиться так как там есть лишняя информация...

SuperZen 17.12.2018 10:53

есть идея присылать только валидный json ) и использовать MVVM для отображения...


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