javascript - 如何只打印outerHTML

标签 javascript html dom

我只想打印outerHTML,而不打印innerHTML。我怎样才能实现这个目标?

示例 HTML:

<div id="one">
    <div id="two">
        <div id="three">
            <div id="four">
            <div>
        </div>
    </div>
</div>

期望的结果:

<div id="two"></div>

我尝试使用outerHTML,但它返回了我

<div id="two">
    <div id="three">
        <div id="four">
        <div>
    </div>
</div>

如果我尝试删除innerHTML,它会影响DOM

编辑我尝试过这个 $('#two').clone().html('')[0]

它返回结果给我,但是这样正确吗?

最佳答案

    function outerHTML(id){
       var clone = document.getElementById(id).cloneNode();
       clone.innerHTML = "";
       return clone.outerHTML;
    }

    //usage
    outerHTML("one");

JS fiddle : http://jsfiddle.net/6V34p/1

关于javascript - 如何只打印outerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23221901/

相关文章:

javascript - 通过单击 Handlebars 插入的 anchor 元素来触发事件

javascript - 响应式 3 盒装布局在鼠标悬停时放大/缩小

javascript - 有没有办法从浏览器外部运行的程序触发 DOM 事件?

javascript - 属性节点的 hasChildNodes() 为 Chrome 和 Firefox 返回不同的结果

javascript - 如何在 Javascript 中从本地 URL 获取图像并转换为 Base64

javascript - HTML/CSS/JS : How to force browser to save password from a non -'password' type input?

javascript - JS/jQuery 中 'pacing' HTTP 请求的首选技术?

html - 单击取消按钮时如何绕过必填字段验证?

jquery - Bootstrap 使 Div 在列中彼此相邻 float

javascript - 获取列表项的文本内容