是否有一個JavaScript函數將字符串作爲輸入並解析該字符串,如果它是HTML並將相應元素返回給我?是否有一個JavaScript函數將字符串作爲輸入並解析該字符串,因爲它是HTML並將相應元素返回給我?
示例:F("<div id='outer'><div id='inner'><span hello></span></div></div>")
將返回一個div HTMLElement,它具有一個子div,而該子div又具有一個子範圍。
是否有一個JavaScript函數將字符串作爲輸入並解析該字符串,如果它是HTML並將相應元素返回給我?是否有一個JavaScript函數將字符串作爲輸入並解析該字符串,因爲它是HTML並將相應元素返回給我?
示例:F("<div id='outer'><div id='inner'><span hello></span></div></div>")
將返回一個div HTMLElement,它具有一個子div,而該子div又具有一個子範圍。
又是怎麼回事DOMParser
? 下面是一個例子:
var str = '<div id="outer"><div id="inner"><span> hello</span></div></div>';
function parseStringToDOMElement (str)
{
var xmlDoc = null;
if (window.DOMParser)
{
var parser = new DOMParser();
xmlDoc = parser.parseFromString (str, "text/xml");
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject ("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML (str);
}
return xmlDoc.firstChild;
}
var node=parseStringToDOMElement(str);
console.log(node);
我希望它會
這是一個非常簡單的純JavaScript的解決方案:
function returnTheNodes(htmlStr)
{
var myCont = document.createElement('DIV'); // create a div element
myCont.innerHTML = htmlStr; // create its children with the string
return myCont.childNodes; // return the children elements created :)
}
var newElems = returnTheNodes("<div id='outer'><div id='inner'><span hello></span></div></div>");
for(var i = 0; i < newElems.length ; i++)
{
alert(newElems[i].id); // newElems[0] has the first DIV
}
+1:我正要發佈關於'innerHTML'的答案,但我的回答並沒有將它全部整齊地包裝在一個完整的jsfiddle函數中。 – nnnnnn
你使用jQuery是有益的?這個框架可以做你想做的。使用$(「
請不要jquery。我想要一個JavaScript解決方案 – TwentyTwo
請參閱下面的文章。你對這個解決方案有什麼看法? –