Из строки в обьект
Есть переменная в которой храниться тег например
var sd="<p id='ll' class='ss'>2222222</p>"; Можно ли как то получить значения id,class, и содержимое не прибегая к распарсиванию строки а к примеру сделать обект и обратиться как к свойсву или аттрибуту? |
var sd="<p id='ll' class='ss'>2222222</p>", node = document.createElement('div'); node.innerHTML = sd; node = node.firstChild; alert(node.id); alert(node.className) |
Это костыли, нужно изящнее решение.
|
var sd="<p id='ll' class='ss'>2222222</p>";
var psd=new Object(sd); alert(psd.id); Так не выводит. Каким образом броузер вообще делает инициализацию из тега обьект? Можно как то это эмулировать при помощи JS ? Да если поместить тег в "полотно" HTML документа создастся обьект, как по другому эмулировать можно такое? |
Элемент DOM - это не просто объект. Запись "<p id='ll' class='ss'>2222222</p>" ни коем боком к объектам не относится.
Если не устраивает простой и кроссбраузерный вариант и хочется использовать именно предназначенные для этого функции, то: var sd = "<p id='ll' class='ss'>2222222</p>"; var el = new DOMParser().parseFromString(sd, "text/html").body.firstChild; alert(el.id); alert(el.className) |
Фигасе костыли! Это единственное верное решение. Хочешь обращаться к свойствам DOM — используй DOM. Что тебя смущает?
|
Цитата:
Даже с этой, с location запростяк так делают, когда надо из какого-нить урла или src получить все запчасти адреса. |
Часовой пояс GMT +3, время: 08:32. |