Я просто пытаюсь разобрать и добавить строку JavaScript как элемент DOM. Я нашел два быстрых способа сделать это, один из которых использует DOMParser, как показано в этот популярный ответ SO. Оба метода работают, однако подход DOMParser
по какой-то причине не соблюдает встроенные стили, которые я определяю, хотя оба метода вводят динамическую разметку точно такой же. Рассмотрим следующее...
<div></div>
var parent = document.getElementsByTagName('div')[0]
// ---- case 1 ---------------
var parser = new DOMParser();
var node = parser.parseFromString('<p style="color: red">foo</p>', 'text/xml').firstChild;
parent.appendChild(node);
// ---- case 2 ---------------
var wrapper= document.createElement('div');
wrapper.innerHTML= '<p style="color: red">foo</p>';
var node2 = wrapper.firstChild;
parent.appendChild(node2);
Каждый метод вводит node соответственно, а DOM отражает следующее...
<div>
<p style="color: red">foo</p>
<p style="color: red">foo</p>
</div>
Однако только последний красный! Любая идея, что может здесь происходить?
JSFiddle - демонстрация воспроизведения