将元素插入DOM而不是使用dart:html追加

将元素插入DOM而不是使用dart:html追加,dart,Dart,dart:html中的基本元素对象有一个属性元素,它是列表的实现。add方法将元素附加到DOM中。我想在DOM中预先添加或插入一个元素。ElementList中的插入方法均未实现。我怎样才能做到这一点呢?假设您有这个HTML片段: <body> <div id='test'></div> </body> 现在,您的HTML将是: <body> <p></p> <div id='te

dart:html中的基本
元素
对象有一个属性
元素
,它是
列表
的实现。
add
方法将元素附加到DOM中。我想在DOM中预先添加或插入一个元素。
ElementList
中的插入方法均未实现。我怎样才能做到这一点呢?

假设您有这个HTML片段:

<body>
    <div id='test'></div>
</body>
现在,您的HTML将是:

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


除了约翰的答案之外。您还可以使用以下语法:

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');
final el=query(“#test”);
//如果你想要一个元素
el.insertAdjacentElement('beforebeagin',new-Element.tag('p');
//如果要插入HTML标记
el.insertAdjacentHTML('beforebeagin','Hello

'); //只插入文本 el.insertAdjacentText('beforebeagin','Hello here');

您可以使用位置参数:beforebeagin、afterbegin、beforebeand、afterend,分别将其放置在另一个元素的开头之前、元素的开头内部、元素的结尾内部或元素的结尾外部。

您在技术上是正确的-最好的正确类型,但是,如果用于元素的列表实现能为我们做到这一点,那就太好了我的个人首选项-我喜欢尽可能保持强类型,因此如果我选择了您的路径,我可能会为字符串创建一个枚举(可能dart:HTMLAPI应该已经有这个?补丁!);)对我来说,类似于,我喜欢为这个添加便利包装的想法。
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');