2012-09-23 162 views

回答

5

因此,可以說,你有這樣的HTML片段:

<body> 
    <div id='test'></div> 
</body> 

你可以做到這一點的DIV前插入一個元素:

​​

現在你的HTML將是:

<body> 
    <p></p> 
    <div id='test'></div> 
</body> 
+1

你在技術上是正確的 - 最好的一種正確的,但它肯定會很好,如果用於元素的List實現爲我們做到了這一點。 –

+0

是的,它似乎是一個簡單的包裝insertRange()...良好的補丁想法... –

5

除了約翰的答案。您也可以使用語法:

final el = query('#test'); 

// If you want an element 
el.insertAdjacentElement('beforebegin', new Element.tag('p')); 
// If you want to insert HTML tags 
el.insertAdjacentHTML('beforebegin', '<p>Hello</p>'); 
// Insert just text 
el.insertAdjacentText('beforebegin', 'Hello there'); 

您可以使用位置參數:beforebeginafterbeginbeforeendafterend這將其放置在其它元件開始前,剛內元素的開始,僅在元素的結尾,或者在元素的結尾之外。

+0

好添加馬特。 :)對我個人而言 - 我喜歡儘可能保持強類型,所以如果我選擇了你的路線,我可能會爲這些字符串做一個枚舉(也許是dart:HTML API應該已經有了這個補丁! );) –

+0

對我來說,與http://dartbug.com/3685類似,我喜歡爲此添加便利包裝的想法。 –