Вот дилемма:
Я делаю эффект JavaScript.Для этого я тяну узел и его детей (включая изображения) с .innerHTML.Затем пытаюсь разобрать его через DOM.Когда он попадает в теги изображения, он выдает ошибку разбора.Когда я предупреждаю innerHTML, я вижу, что он удаляет закрытие для тегов IMG.
Я не уверен, что проблема в парсере или innerHTML.Как я могу взять этот узел, захватить внутреннее содержимое, проанализировать его как XML?
Похоже, что подобное происходило здесь: innerHTML удаление закрывающей косой черты из тега изображения
(Это единственная страница в Интернете, которая, как я обнаружил, затрагивает эту проблему после почти двух дней поиска.)
Вот код разбора, который я использую:
function loadXMLString(txt) {
if (window.DOMParser) {
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
} else { // Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
}
return xmlDoc;
}
разрешение было изменить тип MIME, но как это сделать с парсером javascript (как MS ActiveX, так и стандарт другого браузера)?Какой MIME я должен использовать?
Вот элемент DOM, который я пытаюсь проанализировать:
<div style="display:none" id="ItemsContainer" name="ItemsContainer">
<SPAN>
<a href="url1"><img src="1.jpg" alt="alt1" /></a>
<a href="url2"><img src="2.jpg" alt="alt2" /></a>
<a href="url3"><img src="3.png" alt="alt3" /></a>
<a href="url4"><img src="4.jpg" alt="alt4" /></a>
</SPAN>
</div>
Если я изменю теги на другое имя, как это работает.Кажется, что innerHTML нарушает тег или синтаксический анализатор не может анализировать теги IMG.
Пожалуйста, сообщите.Заранее спасибо!