Пример:Показать все идентификаторы и их значения из строки
var string = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>";
Использование JavaScript, как можно извлечь идентификаторы и есть значения в формате:
данных: Blaa data2: Blaa
Пример:Показать все идентификаторы и их значения из строки
var string = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>";
Использование JavaScript, как можно извлечь идентификаторы и есть значения в формате:
данных: Blaa data2: Blaa
Я понятия не имею, что контекст этого вопроса или как вы собираетесь использовать данные, но вот то, что я думаю делает то, что вы просите, используя ваниль JavaScript.
var string = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>",
div = document.createElement('div');
div.innerHTML = string;
var elements = div.getElementsByTagName('*'),
dataValues = {},
i = 0;
for (i; i < elements.length; i++) {
if (elements[i].id) {
dataValues[elements[i].id] = elements[i].innerHTML;
}
}
console.log(dataValues);
для решения без JQuery и использования собственного DOM-парсера. – KarelG
Вы можете разобрать HTML строки с помощью JQuery parseHTML
функции:
http://api.jquery.com/jquery.parsehtml/
var str = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>";
$.each($.parseHTML(str), function(i, el) {
if(!el.tagName) return;
var tagName = el.tagName.toLowerCase();
if(tagName == 'h1' || tagName == 'h2') {
var id = el.id;
console.log(id + ':' + $(el).html());
}
});
вы хотите извлечь это из DOM добавляются элементы, или из строки ли? –
Я хочу извлечь из всех тегов, у которых есть атрибут 'id' – Qu3ntin0
, зависит от ограничений вашей строки, но я бы начал с регулярного выражения –