Страницы: 1
не могу обратится к полученным через xmlhttprequest элементам
код для расширения к лисе
var opm = { init: function() { var appcontent = document.getElementById("appcontent"); if(appcontent) appcontent.addEventListener("DOMContentLoaded", opm.onLoad, true); }, onLoad: function(aEvent){ var doc = aEvent.originalTarget; if(~doc.location.href.search('http://www.google.ru/')) opm.mf(doc); }, mf: function(doc){ loadPage('http://www.google.ru/'); function loadPage(url){ var mXML = new XMLHttpRequest(); mXML.onreadystatechange = function(){ if(this.readyState == 4){ if(this.status == 200 || this.status == 0){ resp(mXML.responseText); } } }; mXML.open('GET', url, true); mXML.send(null); } function resp(text){ try{ var div = doc.createElement("div"); div.innerHTML = text; div.getElementById("lst-xbtn"); //Здесь ошибка! //TypeError: div.getElementById is not a function // }catch(e){ alert(e) } } } }; window.addEventListener("load", function () { opm.init(); }, false);
Подскажите, что я делаю не так.
Отсутствует
sixis
А при чем здесь XMLHttpRequest? Ошибка в том, что метод getElementById относится только к интерфейсу Document, а не к интерфейсу Node или Element - а вы вызываете метод на элементе. Это во-первых. Во-вторых, пытаться искать элемент, не принадлежащий к DOM-дереву документа смысла нет - не найдёте. Сначала присоедините созданный элемент к документу, потом на документе вызывайте getElementById.
Отсутствует
метод getElementById относится только к интерфейсу Document
не знал этого. спасибо!
пытаться искать элемент, не принадлежащий к DOM-дереву документа смысла нет - не найдёте
и все же getElementsByTagName находит
Сначала присоедините созданный элемент к документу
если присоединю к странице, то отобразится весь реквест в innerHTML, а мне нужна только часть
в общем проблему решил по другому, всем спасибо.
Отсутствует
и все же getElementsByTagName находит
Почитайте документацию. Метод getElementsByTagName относится к интерфейсу Element, наследником которого является интерфейс Document (ну, точнее, Document расширяет интерфейс Element - всё вполне в соответствии с канонами ООП).
Отсутствует
Страницы: 1