5

dart:html 中的基础Element对象有一个属性elements,它是List<E>. 该add方法将元素附加到 DOM。我想在 DOM 中添加或插入一个元素。没有实现其中的插入方法ElementList。我怎样才能做到这一点?

4

2 回答 2

5

所以假设你有这个 HTML 片段:

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

您可以这样做以在 div 之前插入一个元素:

// Get the sibling that we want to insert before.
final el = query('#test');

// From the parent element, we call insertBefore, referencing the
// sibling that we want to insert the new element before.
document.body.insertBefore(new Element.tag('p'), el);

现在您的 HTML 将是:

<body>
    <p></p>
    <div id='test'></div>
</body>
于 2012-09-23T19:44:23.310 回答
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它将把它放在另一个元素的开头之前,就在元素的开头,就在元素的末尾,或者就在元素的末尾,分别。

于 2012-09-23T19:51:01.600 回答