Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2014, 15:35
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Из строки в обьект
Есть переменная в которой храниться тег например

var sd="<p id='ll' class='ss'>2222222</p>";

Можно ли как то получить значения id,class, и содержимое не прибегая к распарсиванию строки а к примеру сделать обект и обратиться как к свойсву или аттрибуту?
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2014, 15:58
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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)
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2014, 16:00
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Это костыли, нужно изящнее решение.
Ответить с цитированием
  #4 (permalink)  
Старый 31.08.2014, 16:17
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

var sd="<p id='ll' class='ss'>2222222</p>";

var psd=new Object(sd);

alert(psd.id);

Так не выводит. Каким образом броузер вообще делает инициализацию из тега обьект? Можно как то это эмулировать при помощи JS ?

Да если поместить тег в "полотно" HTML документа создастся обьект, как по другому эмулировать можно такое?

Последний раз редактировалось vvkk, 31.08.2014 в 16:36.
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2014, 01:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Элемент 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)
__________________
29375, 35

Последний раз редактировалось Aetae, 01.09.2014 в 01:52.
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2014, 01:50
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Фигасе костыли! Это единственное верное решение. Хочешь обращаться к свойствам DOM — используй DOM. Что тебя смущает?
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2014, 11:50
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от vvkk
Это костыли, нужно изящнее решение.
Типа дефчонки заглянут в коды, а там ужос - html преобразуется в объект средствами браузера, позорище, засмеют!

Даже с этой, с location запростяк так делают, когда надо из какого-нить урла или src получить все запчасти адреса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считать строки в таблице игнорируя вложенные Гробовщик jQuery 4 17.12.2013 09:49
Как из строки получить обьект? linklee Общие вопросы Javascript 22 15.07.2013 18:11
Видимость строки таблицы sslab Events/DOM/Window 8 04.12.2011 21:58
Обьект из строки Andrejs Элементы интерфейса 7 06.07.2011 17:19
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31