向Dom中添加元素与文本节点的属性和方法

  • inner/outerHTML,inner/outerText,textContent

    这些属性由js字符串创建,向Dom中添加节点。

<body>
    <div id="a">aaa</div>
    <div id="b"></div>
    <div id="c"></div>
    <div id="d"></div>
    <div id="e"></div>
    <script>
        //创建strong元素与文本节点添加到Dom
        document.getElementById('a').innerHTML = '<i>AAA</i>';
        //创建strong元素替换div#b
        document.getElementById('b').outerHTML = '<strong>changed</strong>'
        //创建文本节点并更新div#c中的内容
        document.getElementById('c').textContent = 'cc';
        document.getElementById('d').innerText = 'dd';
        //创建文本节点并替换div#d
        document.getElementById('e').outerText = '<strong>bold</strong>';
        console.log(document.body.innerHTML);
    </script>
</body>

 

输出:

  1. <div id="a"><i>AAA</i></div>
  2. <strong>changed</strong>
  3. <div id="c">cc</div>
  4. <div id="d">dd</div>
  5. &lt;strong&gt;bold&lt;/strong&gt;

总结:

   1)inner是在已有元素内新创建元素或文本节点 outer则是以新创建的元素或文本节点替换

   2)HTML创建的是元素和文本节点 会被浏览器自动解析为html标签 Text则被完全解释为文本 从输出5看出 添加的标签符号被转换为转义字符

   3)textContext与innerText都用来构造文本节点

  • insertAdjacentHTML/Element/Text()

    insertAdjacentHTML()方法仅在element节点上有效

<body>
    <strong id="s">l</strong>
    <script>
        var ins = document.getElementById('s');
        //节点插入开标签之前
        ins.insertAdjacentHTML('beforebegin', '<span>h</span>');
        //开标签之后
        ins.insertAdjacentHTML('afterbegin', '<span>e</span>');
        //闭标签之前
        ins.insertAdjacentHTML('beforeend', '<span>l</span>');
        //闭标签之后
        ins.insertAdjacentHTML('afterend', '<span>o</span>');
        console.log(document.body.innerHTML);
        /*<span>h</span><strong id="s"><span>e</span>l<span>l</span></strong><span>o</span>*/
    </script>
</body>
  • innerText  & textContent

    区别:

      1)innerText受样式影响并会触发页面重排(reflow),textContext 不会

      2)innerText由于受到样式影响不会返回隐藏元素(visibility: hidden/display: none)的文本,textContent会

    

转载于:https://www.cnblogs.com/qimeng/p/6658698.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值