2012-09-23 117 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类似,我喜欢为此添加便利包装的想法。 –