javaScript:文档流写入和元素写入

news2025/2/13 2:04:24

目录

前言

文档流写入

 把元素直接写入到文档流 

注意​编辑

注意

元素写入

注意

innerHTML

特点:

设置内容

获取内容

 innerText

特点:

注意

相关代码 


前言

        在JavaScript中,文档流写入是指将内容直接写入到DOM(文档对象模型)中的文档流中,而元素写入则是通过创建新的元素节点,并将其添加到DOM中。文档流写入和元素写入在JavaScript中发挥着至关重要的作用,可以实现动态内容更新、页面生成、用户界面交互、样式修改以及灵活定制,从而提升用户体验,增强网页应用的交互性和灵活性。

文档流写入

 把元素直接写入到文档流 

把元素直接写入到文档流 使用

document.write(str)

注意

1.会把内容渲染到body

2.str可以是标签,也可以是文本内容

3.后面写入的内容不会覆盖前面写入的内容

document.write('<h1>好想睡觉</h1>')
    document.write('<h1>超级想睡觉</h1>')
    document.write('阿巴阿巴')
    document.write('<div class="cell"></div><div class="cell"></div><div class="cell"></div>')

 

注意

       文档流写入是一种相对简单的方式,但性能方面可能不如创建和修改DOM元素节点。如果你只是插入少量的HTML代码或需要更精确地控制元素的创建和插入位置,可以考虑使用元素写入的方式。

元素写入

        元素写入是通过JavaScript中的DOM创建和修改方法来实现的,它允许我们动态地创建新的元素节点并将其添加到DOM中的特定位置。通过元素写入,我们可以更精确地控制元素的创建和插入位置。相比于文档流写入的方法,元素写入更适用于动态生成和插入元素的场景,尤其是在根据用户交互或其他条件动态生成内容时。另外,元素写入的方式也可以用于修改已存在的元素。通过获取已有的元素引用,我们可以使用DOM方法进行修改,例如修改元素的属性、样式或内容。

注意

        与文档流写入一样,对于用户输入的内容,我们也应该采取适当的编码和验证措施,以防止安全风险。此外,过多的DOM操作可能会影响性能,因此在进行元素写入时,应该注意合理使用,避免无谓的操作。

innerHTML

他是dom元素的一个属性,可以通过innerHTML 设置和获取元素的内容

特点:

1.后写入的内容会覆盖之前写入的内容

2.可以写入标签,也可以写入文本

设置内容

dom.innerHTML = '内容' 如果内容是html结构,可以被渲染成html

aa.innerHTML = '为中华之崛起而读书'

获取内容

dom.innerHTML 获取到了dom元素中的html结构

console.log(aa.innerHTML);
let aa = document.getElementById('aa')
   aa.innerHTML = '为中华之崛起而读书'
   aa.innerHTML += '少年中国说'  //aa.innerHTML = aa.innerHTML + '少年中国说'
   aa.innerHTML += '<h1>兰亭集序</h1>'

   console.log(aa.innerHTML);

 innerText

innerText  他是dom元素的一个属性,可以通过innerText 设置和获取元素的文本内容

特点:

1.后面写入的内容会覆盖前面写入的内容

2.设置的时候如若是

html结构,html结构不会被渲染,会原样写入

和innerHTML一样也可以设置和获取内容

注意

获取的结果 会 过滤掉标签名,只会显示文本内容


   let bb = document.getElementById('bb')
   console.log(bb.innerHTML);
   bb.innerText = '<h1>周末吃顿好的</h1>'
   bb.innerText += '<h1>周末喝口西北风</h1>'
   console.log(bb.innerText);

相关代码 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文档流写入和元素写入</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .cell{
            height: 50px;
            background: pink;
            width:150px;
            margin: 10px;
        }
        .wp{
            width: 200px;
            height: 200px;
            background: pink;

        }
    </style>
</head>
<body>
    <div class="wp" id="aa"></div>
    <div class="wp" id="bb">
         <h1>中午吃啥</h1>
         <h2>米饭</h2>
         <h2>米粉</h2>
    </div>
</body>
</html>
<script>
    /*
    把元素直接写入到文档流 使用
    document.write(str)
    1.会把内容渲染到body
    2.str可以是标签,也可以是文本内容
    3.后面写入的内容不会覆盖前面写入的内容
    */
    document.write('<h1>好想睡觉</h1>')
    document.write('<h1>超级想睡觉</h1>')
    document.write('阿巴阿巴')
    document.write('<div class="cell"></div><div class="cell"></div><div class="cell"></div>')

    /*
    innerHTML 
    他是dom元素的一个属性,可以通过innerHTML 设置和获取元素的内容
    特点:
    1.后写入的内容会覆盖之前写入的内容
    2.可以写入标签,也可以写入文本

    设置内容
           dom.innerHTML = '内容' 如果内容是html结构,可以被渲染成html

    获取内容
           dom.innerHTML 获取到了dom元素中的html结构
    
    innerText  他是dom元素的一个属性,可以通过innerText 设置和获取元素的文本内容
    特点:
    1.后面写入的内容会覆盖前面写入的内容
    2.设置的时候如若是html结构,html结构不会被渲染,会原样写入

    和innerHTML一样也可以设置和获取内容
    注意 获取的结果 会 过滤掉标签名,只会显示文本内容
    */ 
   let aa = document.getElementById('aa')
   aa.innerHTML = '为中华之崛起而读书'
   aa.innerHTML += '少年中国说'  //aa.innerHTML = aa.innerHTML + '少年中国说'
   aa.innerHTML += '<h1>兰亭集序</h1>'

   console.log(aa.innerHTML);

   let bb = document.getElementById('bb')
   console.log(bb.innerHTML);
   bb.innerText = '<h1>周末吃顿好的</h1>'
   bb.innerText += '<h1>周末喝口西北风</h1>'
   console.log(bb.innerText);
</script>

 

   


   

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用户生成内容(UGC)与海外网红营销:激活品牌传播的力量

互联网和社交媒体的迅速发展为品牌营销带来了前所未有的机遇。用户生成内容&#xff08;UGC&#xff09;是指由普通用户自发创作、分享和发布的各种内容&#xff0c;而海外网红是指在海外社交平台上拥有大量粉丝和影响力的人物。这两者结合&#xff0c;为品牌传播带来了强大的推…

【C++11】类的新功能 | 可变参数模板

文章目录 一.类的新功能1.默认成员函数2.类成员变量初始化3.强制生成默认函数的关键字default4.禁止生成默认函数的关键字delete5.继承和多态中final与override关键字 二.可变参数模板1.可变参数模板的概念2.可变参数模板的定义方式3.参数包的展开方式①递归展开参数包②逗号表…

虚拟展览馆有哪些优势?如何打造自己的虚拟展览馆

引言&#xff1a; 随着科技的不断创新与发展&#xff0c;虚拟展览馆作为一种全新的文化体验方式&#xff0c;正逐渐引起人们的关注。虚拟展览馆以其便捷、创新、可定制的特点&#xff0c;为参观者提供了前所未有的沉浸式体验。 一&#xff0e;什么是虚拟展览馆&#xff1f; 虚…

MongoDB【无敌详细,建议收藏】

"探索MongoDB的无边之境&#xff1a;沉浸式数据库之旅" 欢迎来到MongoDB的精彩世界&#xff01;在这个博客中&#xff0c;我们将带您进入一个充满创新和无限潜力的数据库领域。无论您是开发者、数据工程师还是技术爱好者&#xff0c;MongoDB都将为您带来一场令人心动…

修改element-plus主题色

修改element-plus主题色 前提&#xff1a;要安装按需引入和自动导入插件 ​npm install -D unplugin-vue-components unplugin-auto-import文章目录 修改element-plus主题色一、安装插件二、新建一个element的覆盖scss文件三、配置 一、安装插件 npm install -D unplugin-vu…

重启服务器引发的Docker异常

公司使用云服务器需要硬盘扩容&#xff0c;服务器重启才生效。 重启以后发现拉取远程镜像的命令登录失败了&#xff01; 然后发现找不到容器和镜像列表了&#xff0c;但是容器都启动了。 查看docker运行状态都是正常的 systemctl is-active docker systemctl status docker.…

原生JS手写扫雷小游戏

场景 实现一个完整的扫雷游戏需要一些复杂的逻辑和界面交互。我将为你提供一个简化版的扫雷游戏示例&#xff0c;帮助你入门。请注意&#xff0c;这只是一个基本示例&#xff0c;你可以根据自己的需求进行扩展和改进。 思路 创建游戏板&#xff08;Grid&#xff09;&#xff1…

Vue [Day7] 综合案例

核心概念回顾 state&#xff1a;提供数据 getters&#xff1a;提供与state相关的计算属性 mutations&#xff1a;提供方法&#xff0c;用于修改state actions&#xff1a;存放异步操作 modules&#xff1a;存模块 功能分析 https://www.npmjs.com/package/json-server#ge…

企业运单管理教程

随着电子面单的普及&#xff0c;以及商务寄件稳步增加&#xff0c;快递公司为了留住商企客户&#xff0c;推出了月结协议模式寄件。企业可以根据寄件量大小&#xff0c;和快递公司签订月结协议&#xff0c;运费每月结算一次&#xff0c;还能根据自身的寄件量&#xff0c;向快递…

评述6种室内定位技术的底层原理及未来展望

从古至今&#xff0c;人类始终关心一个颇具哲学意味的问题——“我在哪里”。从千年前的人类在夜空下遥望星河&#xff0c;到依靠经验和模糊的观测绘制的初具现代化意味的地图&#xff0c;再到近现代人类在计算机技术、无线通信技术甚至空间技术的帮助下&#xff0c;不断探索更…

ORA-04031

ORA-04031&#xff1a;unable to allocate 3264 bytes of shared memory 1、问题背景 修改SGA重启数据库后报错系统内存&#xff1a;8G 原SGA大小&#xff1a;3G 修改后SGA大小&#xff1a;5G数据库可以正常重启&#xff0c;但是trance日志一直在报错 2、解决办法 调整shared…

湘大 XTU OJ 1148 三角形 题解(非常详细):根据题意朴素模拟+观察样例分析需要计算几轮 具体到一般

一、链接 1148 三角形 二、题目 题目描述 给一个序列&#xff0c;按下面的方式进行三角形累加&#xff0c;求其和值。 比如序列为 1,2,3,4,5 1 2 3 4 53 5 7 98 12 1620 2848输入 有多组样例。每个样例的第一行是一个整数N(1≤N≤100),表示序列的大小&…

uni-app实现图片上传功能

效果 代码 <uni-forms-item name"ViolationImg" label"三违照片 :"><uni-file-picker ref"image" limit"1" title"" fileMediatype"image" :listStyles"listStyles" :value"filePathsL…

docker通用镜像方法,程序更新时不用重新构建镜像

docker通用镜像方法&#xff0c;程序更新时不用重新构建镜像。更新可执行文件后&#xff0c;重新启动容器就可运行。 功能 1、在demo目录下添加脚本文件start.sh&#xff0c;里面执行demo.jar文件。 2、将demo目录映射到镜像下的 /workspace目录。 3、Dockerfile文件中默认…

CDN(Content Delivery Network)内容分发网络

从DNS域名系统到CDN内容分发网络 DNS什么是DNS直接使用DNS的缺点 CDNCDN加速过程使用CDN的优势 DNS 什么是DNS 输入域名www.baidu.com后&#xff0c;浏览器先检查缓存和本地Host文件&#xff0c;看有没有对应的ip地址&#xff0c;有则直接使用&#xff0c;没有就会向本地DNS服…

ubuntu安装nginx以及php的部署

目录 1.安装依赖包 2.安装nginx 3.编译nginx 4.启动nginx 5.访问nginx 6.增加源地址 7.安装php 8.配置php-fpm 9.修改权限 10.配置nginx里的php 11.启动php-fpm 12.配置php文件以及权限 13.登陆查看 1.安装依赖包 apt-get install gcc apt-get install libpcre3 l…

C++:模板初阶以及string类使用

C&#xff1a;模板初阶以及string类使用 模板的简单认识1.泛型编程2.函数模板模板的原理图函数模板格式函数模板实例化非模板函数和模板函数的匹配原则 3.类模板类模板的定义格式类模板的实例化 string1.string简介2.string常用的接口 题目练习1.字符串相加2.字符串里面最后一个…

MySQL REGEXP_SUBSTR() 函数

MySQL 8.0 的 REGEXP_SUBSTR()函数从一个字符串获取和指定模式匹配的子串并返回。默认情况下&#xff0c;REGEXP_SUBSTR()函数执行不区分大小写的匹配。 REGEXP_SUBSTR() 语法如下&#xff1a; REGEXP_SUBSTR (expression, pattern [, position[, occurrence[, match_type]]])…

服务质量(QoS)监控工具

企业网络的使用正变得越来越复杂&#xff0c;由于越来越依赖企业网络进行广泛的应用&#xff0c;网络格局发生了翻天覆地的变化。语音、视频和数据网络的融合增加了更多的变量来确定网络的行为。不同的应用程序以不同的方式影响网络&#xff0c;这要求完全控制网络带宽的使用&a…

年薪50W+的测试大佬都在用这个:Jmeter 脚本开发之——扩展函数

很多同学&#xff0c;都问我&#xff1a;“老师&#xff0c;我的 jmeter 里面&#xff0c;怎么没有 MD5 函数&#xff0c;base64 函数也没有&#xff0c;我是不是用了假的 jmeter&#xff1f;” 哈哈哈&#xff0c;不是的。jmeter 的函数&#xff0c;有自带函数和扩展函数两大…