JS创建元素笔记

方式一:document.write,缺点创建好的元素会把之前页面中所有内容替换掉

方式二:innerHTML 创建好的元素会将当前盒子的内容替换掉,但不会替换页面中的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<input type="button" value="点击添加h1" id="btn">
<button id="btn1">创建元素</button>
<div id="dv">
    添加内容
</div>
<script src="common.js"></script>
    <script>
        my$('btn').onclick=function () {
            // 方式一:document.write,缺点创建好的元素会把之前页面中所有内容替换掉
            document.write('<h1>使用document.write动态添加的h1标签</h1>');
        }

        my$('btn1').onclick=function () {
            // 方式一:innerHTML,创建好的元素会将当前盒子的内容替换掉
            my$('dv').innerHTML='<p>使用innerHTML动态添加的p标签</p>'
        }

    </script>
</body>
</html>

方式三:①创建元素document.createElement(‘标签名’)
②将元素追加到负元素中 父元素.appendChild(上一步创建的元素)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            width: 200px;
            height: 300px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<input type="button" id="btn" value="方式三创建p标签">
<div id="dv"></div>

<script src="common.js"></script>
<script>
    // 方式三创建元素document.createElement('标签名')
       my$('btn').onclick=function () {
           var dv=my$('dv');
           var pObj=document.createElement('p');
           dv.appendChild(pObj);
           pObj.innerText='方式三创建元素';
       }
</script>

元素相关的方法
1.insertBefore( ) 在某个元素之前插入一个新的元素

<body>
<input type="button" value="插入" id="btn">
<ul id="uu">
    <li>第一</li>
    <li>第二</li>
    <li id="three">第三</li>
    <li>第四</li>
</ul>
<script>
    document.getElementById("btn").onclick = function () {
        //创建一个li
        var liobj = document.createElement("li");
        //为创建的li设置内容
        liobj.innerHTML = "哈哈哈";
        //获取ul
        var uuobj = document.getElementById("uu");
        //获取第三个li
        var threeobj = document.getElementById("three");
        //把新创建的li放到第三个li的前面
        //uuobj.insertBefore(liobj,threeobj);
        //把新创建的li放到ul中第一个元素的位置
        uuobj.insertBefore(liobj, uuobj.firstElementChild);
    }
</script>
</body>

2.replaceChild( ) 替换某个元素


<body>
<input type="button" value="替换" id="btn">
<ul id="uu">
    <li>第一</li>
    <li>第二</li>
    <li id="three">第三</li>
    <li>第四</li>
</ul>
<script>
    document.getElementById("btn").onclick = function () {
        //创建一个li
        var liobj = document.createElement("li");
        //为创建的li设置内容
        liobj.innerHTML = "哈哈哈";
        //获取ul
        var uuobj = document.getElementById("uu");
        //获取第三个li
        var threeobj = document.getElementById("three");
        //把新创建的li替换成第三个li
        uuobj.replaceChild(liobj, threeobj);
    }
</script>
</body>

3.removeChild( ) 删除某个元素


<body>
<input type="button" value="删除" id="btn">
<ul id="uu">
    <li>第一</li>
    <li>第二</li>
    <li id="three">第三</li>
    <li>第四</li>
</ul>
<script>
    document.getElementById("btn").onclick = function () {
        //获取ul
        var uuobj = document.getElementById("uu");
        //获取第三个li
        var threeobj = document.getElementById("three");
        //把三个li删除
        uuobj.removeChild(threeobj);
    }
</script>
</body>

5.只创建一个元素

<!DOCTYPE html>
<html lang="en">
<<head>
    <meta charset="UTF-8">
    <title>title</title>
    <style>
        div {
            width: 200px;
            height: 60px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<input type="button" value="显示效果" id="btn"/>
<div id="dv"></div>
<script>
    //先判断有没有, 有就删除, 然后再创建
    document.getElementById("btn").onclick = function () {
        //判断,div中有没有这个按钮,有就删除
        //判断这个按钮的子元素是否存在
        if (document.getElementById("btn2")) {//如果为true就有
            document.getElementById("dv").removeChild(document.getElementById("btn2"));

        }else{
            var obj = document.createElement("input");
            obj.type = "button";
            obj.value = "按钮";
            obj.id = "btn2";
            document.getElementById("dv").appendChild(obj);
        }
    }
</script>
</body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的精简博客系统,源码+数据库+毕业论文+视频演示 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前企业对于博客信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于Springboot开发的精简博客系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本系统主要使用B/S开发模式,在idea开发平台上,运用Java语言设计相关的系统功能模块,MySQL数据库管理相关的系统数据信息,SpringBoot框架设计和开发系统功能架构,最后通过使用Tomcat服务器,在浏览器中发布设计的系统,并且完成系统与数据库的交互工作。本文对系统的需求分析、可行性分析、技术支持、功能设计、数据库设计、功能测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。本系统的实现可以极大地提高企业的工作效率,提升用户的使用体验,因此在现实生活中运用本系统具有很大的使用价值。 关键词:博客管理;Java语言;B/S结构;MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值