JQuery中的DOM操作(2)

八、JQuery创建DOM元素

js中创建DOM元素的方式有两种,为

document.createElement();     //object appendchild方式

var str="<span></span>";     //innerHTML方式

在JQuery中,结合了js的两种方式,

函数$( )用于动态创建页面元素,语法格式为$(html),其中参数html表示用于动态创建DOM元素的HTML标记字符串,例如:

要在页面动态创建一个<span>标签并设置其内容,代码可以为

                    var str=$("<span>小猫吃鱼</span>");

创建完成,追加给父级节点,分为内部插入节点和外部插入节点两种方法。

九、插入节点

内部插入节点:

语法格式参数说明功能描述
append(content)content表示追加到目标中的内容向所选择的元素内部插入内容
append(function(index,html))通过function函数返回追加到目标中的内容向所选择的元素内部插入function函数所返回的内容
appendTo(content)content表示被追加的内容把所选择的元素追加到另一个指定的元素集合中
prepend(content)content表示插入目标元素内部前面的内容向每个所选择的元素内部前置内容
prepend(function(index,html))通过function函数返回插入目标元素前面的内容向所选择的元素内部前置function函数所返回的内容
prependTo(content)content表示用于选择元素的JQuery表达式将所选择的元素前置到另一个指定的元素集合中

上面方法的示例如下代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js"></script>
    <style>
        .block{
            width: 200px;
            height: 100px;
            background-color: #45baff;
        }
    </style>
</head>
<body>
<div class="block">小猫抓老鼠</div>
<div class="block1">
    <p>1</p>
</div>
<div class="block1">
    <p>2</p>
</div>
<div class="block1">
    <p>3</p>
</div>
<script>
    var str=$("<span>小猫吃鱼</span>");
    //创建完成,追加span给block
//    $(".block").append(str);//追加到所选择元素的内容之后
    str.appendTo($(".block"));//追加到所选择元素的内容之后
    //上面两行代码的作用相同,使用的方法不同

    var sty=$("<span>小猫吃肉肉</span>");
    $(".block").prepend(sty);//追加到所选择元素的内容之前
//    sty.prependTo($(".block"));//追加到所选择元素的内容之前
    //上面两行代码的作用相同,使用的方法不同
    
    //function函数的示例
    $(".block1").append(function(index,html){
        console.log($(".block1").eq(index));//当前对象  输出为集合
        //创建dom对象
        var st=html;//将html里原本的值给st
        $(this).html("");//将原来的<p>清空
        var s=$("<span>"+st+"</span>");//定义s为<span>包裹<p>
        return s;
    });
</script>
</body>
</html>

上面代码的运行结果:

外部插入节点:

语法格式参数说明功能描述
after(content)content表示插入目标元素外部后面的内容向所选择的元素外部后面插入内容
after(function)通过function函数返回插入目标外部后面的内容向所选择的元素外部后面插入function函数所返回的内容
before(content)content表示插入目标外部前面的内容向所选择的元素外部前面插入内容
before(function)通过function函数返回插入目标外部前面的内容向所选择的元素外部前面插入function函数所返回的内容
insertAfter(content)content表示插入目标元素外部后面的内容将所选择的元素插入另一个指定的元素外部后面
insertBefore(content)content表示插入目标元素外部前面的内容将所选择的元素插入另一个指定的元素外部前面

示例1:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<button id="btn">按钮</button>
<script>
    //外部插入节点
    var msg=$("<p>啦啦啦啦</p>");
    var msd=$("<p>哈哈哈哈</p>");
    $("#btn").after(msg);//在当前元素外面且后面追加
    $("#btn").before(msd);//在当前元素外面且前面追加
</script>
</body>
</html>

运行结果:

示例二:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<button id="btn">按钮</button>
<script>
    //外部插入节点
    var asd=$("<p>哇哇哇哇</p>");
    var asc=$("<p>嘻嘻嘻嘻</p>");
    asd.insertAfter($("#btn"));//在当前元素外面且后面追加
    asc.insertBefore($("#btn"));//在当前元素外面且前面追加
</script>
</body>
</html>

运行结果:

十、复制节点

在js中,复制元素比较复杂,在JQuery中可以通过clone( )方法实现,语法格式为clone( );

其功能为复制匹配的DOM元素并且选中复制成功的元素,该方法仅是复制元素本身,被复制后的新元素不具有任何元素行为。如果需要在复制时将元素的全部行为进行复制,可以通过方法clone(true)实现。

 clone( )   默认 参数为false 只是复制元素 ,参数为true 为深度克隆 包括复制事件等

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<button id="btn">按钮</button>
<script>
        $("#btn").click(function(){
            alert("hello");
        });
        var clonebtn=$("#btn").clone(false);//仅复制元素,即点击新的按钮不会弹出窗口
        $("body").append(clonebtn);
        var clonebtn2=$("#btn").clone(true);//连同元素的行为一起复制,点击新的按钮会弹出窗口
        $("body").append(clonebtn2);
</script>
</body>
</html>

十一、替换节点

在jQuery中,替换节点可以使用replaceWith()和replaceAll()这两种方法,其语法格式如下:

replaceWith(content) ,该方法是将所有选择的元素替换成指定的HTML或DOM元素,参数content为被所选择元素替换的内容

replaceAll(selector) ,该方法将所有所有选择的元素替换成指定selector的元素,参数selector为需要被替换的元素

案例:

效果图:

代码:


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .block{
            width: 720px;
            margin: 0 auto;
            border: 1px solid black;
        }
        .list{
            line-height: 40px;
            border-bottom: 1px dashed silver;
            overflow: hidden;
        }
        .list>span{
            width: 120px;
            display: block;
            float: left;
            text-align: center;
        }
        button{
            width: 120px;
            border-style: none;
            background-color: transparent;
            cursor: pointer;
            color: #0000f8;
            outline: none;

        }
        .ipt{
            width: 120px;
            height: 40px;
            font-size: 16px;
            float: left;
            box-sizing: border-box;
            text-align: center;
            outline: none;
        }
    </style>
</head>
<body>
<div class="block">
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
    <div class="list">
        <span>张三</span>
        <span>20</span>
        <span>男</span>
        <span>110</span>
        <span>西安</span>
        <button>修改</button>
    </div>
</div>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    $("button").each(function(index){
        $(this).prop("data-use",true);
        $(this).click(function(){
            if($(this).prop("data-use")==true){
                $(this).html("确定");
                $(".list").eq(index).find("span").each(function(){
                    var ipt=$("<input class='ipt' value='"+$(this).html()+"'>");
                    $(this).replaceWith(ipt);
                });
                $(this).prop("data-use",false);
            }
            else{
                $(this).html("修改");
                $(".list").eq(index).find("input").each(function(){
                    var ipt=$("<span>"+$(this).val()+"</span>");
                    $(this).replaceWith(ipt);
                });
                $(this).prop("data-use",true);
            }
        })
    });
</script>

</body>
</html>

十二、包裹节点

语法格式参数说明功能描述
wrap(html)html为字符串代码,用于生成元素并包裹所选元素把所有选择的元素用其他字符串代码包裹起来
wrap(elem)elem参数用于包裹所选元素的DOM元素把所有选择的元素用其他DOM元素包裹起来
wrap(fn)fn参数为包裹结构的一个函数把所有选择的元素用function函数返回的代码包裹起来
unwrap()无参数

移除所选元素的父元素或包裹标记

wrapAll(html)html为字符串代码,用于生成元素并包裹所选元素把所有选择的元素用单个元素包裹起来
wrapAll(elem)elem参数用于包裹所选元素的DOM元素把所有选择的元素用单个DOM元素包裹起来
wrapInner(html)html为字符串代码,用于生成元素并包裹所选元素把所有选择的元素的子内容(包括文本节点)用字符串代码包裹起来
wrapInner(elem)elem参数用于包裹所选元素的DOM元素把所有选择的元素的子内容(包括文本节点)用DOM元素包裹起来
wrapInner(fn)fn参数为包裹结构的一个函数把所有选择的元素的子内容(包括文本节点)用function函数返回的代码包裹起来

 

示例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<button id="btn">按钮</button>
<button class="btn">按钮1</button>
<button class="btn">按钮2</button>
<button class="btn">按钮3</button>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    var  s=$("<span></span>");
    //wrap 用元素(对象或者字符串)包裹被选择元素  包的是一个元素
    $("#btn").wrap("<span></span>");//<span>包裹<button>
    //wrapAll 用元素(对象或者字符串)包裹被选择元素  包的是一个元素或者多个元素
    $(".btn").wrapAll("<span></span>");<span>包裹3个<button>
    //移除被包裹元素的父级元素或者包裹标记  unwrap()
    $(".btn").unwrap();
    //    $(".btn").wrapInner(s);//用包裹元素包裹被选择元素的子元素  span包裹文本
</script>
</body>
</html>

十三、元素的遍历

使用each()方法实现元素遍历

关于each()方法的使用如下代码示例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<button class="btn">按钮1</button>
<button class="btn">按钮2</button>
<button class="btn">按钮3</button>
<script src="js/jquery-1.9.1.min.js"></script>
<script>
    //元素的遍历  each
    $(".btn").each(function(index){
        $(this).click(function(){
            console.log(index)
        })
    });//遍历所有类名称为btn的元素,当点=点击它们时,输出自己的索引

    //在each 里面return false 提前终止遍历
        $(".btn").each(function(index){
            $(this).click(function(){
                console.log(index);
                if(index==2){
                    return false
                }
                console.log("你好")
            })
        });//当点击索引为2的btn元素时,不会输出你好
</script>

</body>
</html>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统的功能模块主要是实现管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值