String в dom, как?

Здравствуйте. Имеется HTML страничку в виде строки, полученная при помощи XMLHttpRequest'a. Каким образом мне добиться того, чтобы работало myStr.getElementById('')…? а точнее к чему правильно её преобразовать чтобы работал данный метод?



p.s. первая попытка сделать гаджет для Win7. Сниппет с developer.mozilla.org/En/Code_snippets:HTML_to_DOM не работает. в HTMLParser не находится метод .createDocument,
  • Вопрос задан
  • 3371 просмотр
Решения вопроса 1
Nesvet
@Nesvet
Разработчик
Можно так же воспользоваться iframe, чтобы отделить DOM-деревья и исключить совпадение id. Вот, для примера, накидал функцию:

function subDocument(string) {
    var iframe = document.createElement("iframe");
    iframe.style.display = "none";
    document.body.appendChild(iframe);
    iframe.contentDocument.body.innerHTML = string;
    return iframe.contentDocument
};


Потом так:

var newDocument = subDocument(myStr);
newDocument.getElementById("...");
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Nesvet
@Nesvet
Разработчик
Нужно поместить эту строку через innerHTML в какой-нибудь элемент (можно с display: none). Например:

​document.getElementById("hidden-div").innerHTML = myStr;

После этого document.getElementById("...") будет находить элементы из myStr.
Ответ написан
dpigo
@dpigo
Front-end developer
Если хочется совсем уж разделить сущности можно еще вот так: jsfiddle.net/75bwJ/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы