javascript – 如何在两个DOM节点之间插入HTML字符串?

前端之家收集整理的这篇文章主要介绍了javascript – 如何在两个DOM节点之间插入HTML字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑以下DOM片段:
<div id="div-1">foo</div>
<div id="div-2">bar</div>

可以在div之间插入HTML字符串(编辑:包含要渲染的标签),而不会将其包装在通过document.createElement创建的另一个div(编辑或其他标签)中,并设置其innerHTML属性

解决方法

大多数浏览器支持 element#insertAdjacentHTML(),最终成为标准 in the HTML5 specification.不幸的是,Firefox 7和更低版本不支持,但我设法找到 a workaround that uses ranges插入HTML.我已经调整下面的工作为您的方案:
var el = document.getElementById("div-2"),html = "<span>Some HTML <b>here</b></span>";

// Internet Explorer,Opera,Chrome,Firefox 8+ and Safari
if (el.insertAdjacentHTML)
    el.insertAdjacentHTML ("beforebegin",html);
else {
    var range = document.createRange();
    var frag = range.createContextualFragment(html);
    el.parentNode.insertBefore(frag,el);
}

实例:http://jsfiddle.net/AndyE/jARTf/

猜你在找的JavaScript相关文章