Elementdart:html中的基础对象有一个属性elements,它是一个实现List<E>.该add方法将元素附加到DOM.我想在DOM中添加或插入一个元素.没有实现任何插入方法ElementList.我怎样才能做到这一点?
因此,假设您有此HTML代码段:
<body>
<div id='test'></div>
</body>
Run Code Online (Sandbox Code Playgroud)
你可以这样做在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);
Run Code Online (Sandbox Code Playgroud)
现在你的HTML将是:
<body>
<p></p>
<div id='test'></div>
</body>
Run Code Online (Sandbox Code Playgroud)
除了John的答案.您还可以使用以下语法:
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');
Run Code Online (Sandbox Code Playgroud)
你可以使用位置参数:beforebegin,afterbegin,beforeend,afterend将它放在另一个元素的开头之前,就在元素的开头,在元素的结尾之内,或者只是在元素的结尾之外,分别.
| 归档时间: |
|
| 查看次数: |
1657 次 |
| 最近记录: |