使用JavaScript添加HTML元素
所以,如果我有这样的HTML:使用JavaScript添加HTML元素,javascript,html,dom,Javascript,Html,Dom,所以,如果我有这样的HTML: <div id='div'> <a>Link</a> <span>text</span> </div> $('#div a').after("Your html element"); $('#div a').after('<p>html element to add</p>'); 链接 文本 如何使用JavaScript在该空行所在的位置添加HTML
<div id='div'>
<a>Link</a>
<span>text</span>
</div>
$('#div a').after("Your html element");
$('#div a').after('<p>html element to add</p>');
链接
文本
如何使用JavaScript在该空行所在的位置添加HTML元素?如果要使用类似jQuery的内容,可以执行以下操作:
<div id='div'>
<a>Link</a>
<span>text</span>
</div>
$('#div a').after("Your html element");
$('#div a').after('<p>html element to add</p>');
由于您没有提到任何javascript库的使用(如jquery、dojo),这里有一些纯javascript
var txt = document.createTextNode(" This text was added to the DIV.");
var parent = document.getElementById('div');
parent.insertBefore(txt, parent.lastChild);
或
jQuery有一个很好的内置函数:after(),位于 在您的情况下,您可能需要这样一个选择器:
<div id='div'>
<a>Link</a>
<span>text</span>
</div>
$('#div a').after("Your html element");
$('#div a').after('<p>html element to add</p>');
$('#div a')。在('要添加的html元素')之后;
上面给出的链接中的代码示例还显示了如果jQuery对您来说是新的,如何加载它。假设您只添加了一个元素:
document.getElementById("div").insertBefore({Element}, document.getElementById("div").children[2]);
与处理
的子元素不同,与其他答案一样,如果您知道总是要在
元素后插入,请为其指定一个ID,然后可以相对于其同级插入:
<div id="div">
<a id="div_link">Link</a>
<span>text</span>
</div>
这将允许您始终保证新元素跟随链接。node=document.getElementById('YourID');
node = document.getElementById('YourID');
node.insertAdjacentHTML('afterend', '<div>Sample Div</div>');
node.insertAdjacentHTML('afterend','Sample Div');
可用选项
前开始,后开始,前结束,后结束
document.getElementById('div')
将为空,您的意思可能是document.getElementById('div')
这是不正确的。insertBefore不是一个全局函数,它是HtmleElement原型上的一个方法。正确的方法是parentElement.insertBefore(newElement,childElement)
insertAfter
也不是一个实际的函数。它也有很好的浏览器支持。如果您不打算在旧IE上与表结合使用。这应该是当今公认的答案。完全支持浏览器,而且非常简短。这是最有用的答案。