例如,所有的ID和它們的值:顯示自字符串
var string = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>";
使用JavaScript,我怎麼能提取標識和格式存在的值:
數據:Blaa 數據2:blaa
例如,所有的ID和它們的值:顯示自字符串
var string = "<h1 id='data'>Blaa</h1> <h2 id='data2'>blaa</h2>";
使用JavaScript,我怎麼能提取標識和格式存在的值:
數據:Blaa 數據2: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);
upvoted爲非JQuery解決方案並使用本地DOM解析器。 – KarelG
你可以用jQuery使用parseHTML
函數解析html字符串:
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
取決於您的字符串的約束,但我會從一個正則表達式開始 –