js添加元素的三种方法

js添加元素的三种方法点击按钮变为:提前说下结论:善用innerHTML属性,但是不能过于依赖,否则会造成改动过大,不利于程序稳定性。首先,结构部分为:<div><ol><liid=”spe”>speedo</li><li>arena</li><li>balenire</li></ol>.

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
点击按钮变为:
在这里插入图片描述
提前说下结论:善用innerHTML属性,但是不能过于依赖,否则会造成改动过大,不利于程序稳定性。
首先,结构部分为:

<div>
        <ol>
            <li id="spe">speedo</li>
            <li>arena</li>
            <li>balenire</li>
        </ol>
        <button id="btn01" onclick="myActive()">new a list on the summit</button>
    </div>
  • 方法一:推荐使用,变化最小,代码量最少
    <script type="text/javascript"> const ol = document.querySelector("ol"); const spe = document.getElementById("spe"); const btn01 = document.getElementById("btn01"); const swa = document.createElement("li"); function myActive() { 
      swa.innerHTML = "swans"; ol.insertBefore(swa,spe); } </script>
  • 方法二:代码量大,但可以深入理解DOM;改变小;作为次推荐选项。
  <script type="text/javascript"> const ol = document.querySelector("ol"); const spe = document.getElementById("spe"); const btn01 = document.getElementById("btn01"); // 新建li元素 const swa = document.createElement("li"); //新建文本节点 const tx = document.createTextNode("swans"); function myActive() { 
      //将文本节点设为li节点的子节点 swa.appendChild(tx); //将li节点放在相应位置 ol.insertBefore(swa, spe); } </script>
  • 方法三:代码量最小,但是改动较大,不推荐使用
	<script type="text/javascript"> const ol = document.querySelector("ol"); const btn01 = document.getElementById("btn01"); function myActive() { 
      var temp = ol.innerHTML; ol.innerHTML = "<li>swans</li>"; ol.innerHTML += temp; } </script>

向有序列表尾部添加选项,使用方法三,代码量会相对更少,但是同样不推荐使用,只领会令人惊叹的innerHTML属性就好。

	<script type="text/javascript"> const ol = document.querySelector("ol"); const btn01 = document.getElementById("btn01"); function myActive() { 
      ol.innerHTML += "<li>swans</li>"; } </script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152070.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月22日 下午12:00
下一篇 2022年6月22日 下午12:00


相关推荐

  • JFlow手机端开发说明与案例

    JFlow手机端开发说明与案例现在 任何软件产品的移动化都是常见的或者是必须的 CCBPM 也是如此 由于 JFlow 与 CCFlow 移动端不开源的情况 那么想自己开发移动端 应该如何做呢 下面 将介绍一下大体的思路 nbsp CCBPM 为移动端提供了两种实现方案 但是对应的表单类型也是具有局限性的 nbsp 第一种 适用于自由表单的方案 通过流程设计器画出来的表单 nbsp 此种方案 首先需要完成表单解析器功能的开发 即 PC 端的

    2026年3月19日
    2
  • NB-IoT:指定频点操作「建议收藏」

    NB-IoT:指定频点操作「建议收藏」NBIOT指定频点后需要关闭射频开关,然后再清频点再开射频开关,最后附着网络。实际使用中最好不要锁定频点,否则很容易造成连接不上。AT+NEARFCN=0,2508,123——这里取值均为例子AT+CFUN=0AT+NCSEARFCNAT+CFUN=1AT+CGATT=1先设置频点,然后再清除频点,然后在CGATT…

    2022年10月6日
    5
  • AutoIt3相关——基本使用篇

    AutoIt3相关——基本使用篇一 AutoIT 可以干啥 1 运行 Windows 及 DOS 下的可执行文件 2 模拟键击动作 支持大多数的键盘布局 3 模拟鼠标移动和点击动作 4 对窗口进行移动 调整大小和其它操作 5 直接与窗口的 控件 交互 设置 获取文字 移动 关闭等 6 配合剪贴板进行剪切 粘贴文本操作 7 对注册表进行操作二 如何使用 AutoIT 1 安装 百度下载安装 or http forspeed onlinedown net down autoit v3 setup zip 解压下一步

    2026年3月17日
    1
  • char* 和char[]的差别

    char* 和char[]的差别

    2021年11月14日
    45
  • 毫米波雷达跟激光雷达_毫米波雷达市场

    毫米波雷达跟激光雷达_毫米波雷达市场文章目录激光雷达超声波雷达摄像头毫米波雷达激光雷达激光雷达的波长介于750nm-950nm之间,以单线或多线束机制辐射光束,接收目标或环境的反射信号,以回波时间差和波束指向测量目标的距离和角度等空间位置参数。激光雷达主要优点如下:(1)波长短,测量精度高(2)多线束的探测,可以实现对场景的三维成像。激光雷达的主要缺点是:(1)抗干扰能力低,易受天气影响,在雨雪雾等天气的作用下,激光雷达使用受限。(2)激光发射、被测目标表面粗糙等因素都对测量精度有影响。(3)结构复杂,除激光

    2025年10月27日
    5
  • Linux 配置nginx转发路由

    Linux 配置nginx转发路由配置 nginx 转发路由 Linux 上首先安装好 nginxLinux 上首先安装好 nginx 进入到 nginx 安装目录 配置文件 cd usr local nginx conf 创建 conf d 文件夹 mkdirconf d 首先更改 nginx conf 文件内容 yamlxml usernobody worker processes1 error loglogs error log error loglogs error logn

    2026年1月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号