2013-03-29 88 views
0

給定一個字符串,這樣的:的Javascript:字符串爲HTML

<img src="image.png" /><p>some text</p> 

我怎樣才能將其追加到DOM節點,而無需使用jQuery的?

我可以創建類似的東西:

var string = '<img src="image.png" /><p>some text</p>'; 
    var div = document.createElement('div'); 
    div.innerHTML = string; 

,然後將其追加到使用appendChild一個節點,但我怎麼能只添加原始字符串沒有包裝div

類似於jquery的parseHTML,我需要一些解析字符串並將其作爲html節點返回的東西。

回答

5

您可以使用insertAdjacentHTML()執行此任務。

編輯

如果你需要分析一個字符串的元素,你可以做這樣的事情:

function parseElements(str) { 
    var temp = document.createElement('div'), 
     nodes, n, 
     elements = []; 
    temp.innerHTML = str; 
    nodes = temp.childNodes; 
    for (n = 0; n < nodes.length; n++) { 
     elements.push(nodes[n]); 
    } 
    return elements; 
} 
+0

對不起,我沒有解釋的就太多了,我想有那些返回html節點的東西,像jquery的parseHTML –

+0

好吧,jQuery似乎創建了一個'documentFragment'和元素(從字符串)到它,然後它將結果合併到一個生成的jQuery對象。 – Teemu

+0

以及他們如何將字符串中的元素放入片段?他們需要div的孩子節點? –