用户登录
用户注册

分享至

zepto中的DOM操作

  • 作者: 吴晰晰
  • 来源: 51数据库
  • 2021-08-31

zepto中的dom操作

插入操作

append  appendto 插在最后一个子元素后面

prepend  prependto  插在第一个子元素前面

after insertafter 插在该元素后面,作为兄弟元素

before insertbefore  插在该元素后面,作为兄弟元素

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        $("#parent").append(child2);
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        child2.appendto($("#parent"));
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        $("#parent").prepend(child2);
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        child2.prependto($("#parent"));
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        $("#parent").after(child2);
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        child2.insertafter($("#parent"));
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        $("#parent").before(child2);
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div id="parent">
        <div id="child1">child1</div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        var child2=$("<div id='child2'>child2<div>");
        child2.insertbefore($("#parent"));
    </script>
</body>
</html>

 

 

删除 remove/empty

remove 删除元素及其子元素

empty 清空元素的内容,该元素本身不删除

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <ul>
        <li>
            <a >链接</a>
        </li>
    </ul>

    <script src="zepto.min.js"></script>
    <script>
        $("li").remove();

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

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <ul>
        <li>
            <a >链接</a>
        </li>
    </ul>

    <script src="zepto.min.js"></script>
    <script>
        $("li").empty();
    </script>
</body>
</html>

 

 

复制节点

clone 复制节点,但如果原来的绑定过事件,复制出来的元素不会绑定事件

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <ul>
        <li>
            <span>删除</span>
        </li>
    </ul>

    <script src="zepto.min.js"></script>
    <script>
        $("ul li").click(function(){
            $(this).clone().appendto($("ul"));
        })
    </script>
</body>
</html>

 

 

替换节点 replaceewith

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <p>我是p元素</p>

    <script src="zepto.min.js"></script>
    <script>
        $("p").replacewith("<span>我被替换啦</span>");
    </script>
</body>
</html>

 

 

包裹节点 wrap  wrapall

wrap 每个p元素外面都包裹一个div

wrapall 所有p元素外面统一裹一个div

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <p>我是p元素1</p>
    <p>我是p元素2</p>
    <p>我是p元素3</p>
    <p>我是p元素4</p>

    <script src="zepto.min.js"></script>
    <script>
        $("p").wrap("<div></div>");
    </script>
</body>
</html>

 

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <p>我是p元素1</p>
    <p>我是p元素2</p>
    <p>我是p元素3</p>
    <p>我是p元素4</p>

    <script src="zepto.min.js"></script>
    <script>
        $("p").wrapall("<div id='parent'></div>");
    </script>
</body>
</html>

 

 

zepto的属性与样式操作

属性操作 attr  removeattr

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body>
    <div>我是div</div>

    <script src="zepto.min.js"></script>
    <script>
        console.log($("div").attr("title"));//获取属性 undefined

        $("div").attr("title","title1");//设置单个属性
        console.log($("div").attr("title"));//获取属性 title1

        $("div").attr({"data-x":"datax","data-y":"datay"});//设置多个属性
        console.log($("div").attr("data-x"));//获取属性 datax

        $("div").removeattr("data-x");//删除单个属性
        console.log($("div").attr("data-x"));//获取属性 undefined

        $("div").removeattr("data-y title");//删除多个属性
        console.log($("div").attr("title"));//获取属性 undefined
    </script>
</body>
</html>

 

 

添加样式 addclass

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div>我是div</div>

    <script src="zepto.min.js"></script>
    <script>

        $("div").addclass("pink");//添加单个样式
        $("div").addclass("pink big");//快速添加多个样式
        $("div").addclass("pink").addclass("big");//链式操作添加多个样式
    </script>
</body>
</html>

 

 

删除样式 removeclass

不加参数会删除所有样式

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div>我是div</div>

    <script src="zepto.min.js"></script>
    <script>
        $("div").addclass("pink big");//快速添加多个样式

        $("div").removeclass("big");//删除样式
        $("div").removeclass();//删除所有样式
    </script>
</body>
</html>

 

 

切换样式

toggle  show和hide的切换(显示隐藏)

toggleclass

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div>我是div</div>
    <button id="btn">显示隐藏</button>
    <button id="btn2">切换样式</button>

    <script src="zepto.min.js"></script>
    <script>
        $("#btn").click(function(){
            $("div").toggle();//显示隐藏切换
        })

        $("#btn2").click(function(){
            $("div").toggleclass("pink");//样式添加删除
        })
    </script>
</body>
</html>

 

 

判断是否含有某个样式 hasclass

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div class="pink">我是div</div>

    <script src="zepto.min.js"></script>
    <script>
        console.log($("div").hasclass("pink"));
        console.log($("div").hasclass("pink big"));
    </script>
</body>
</html>

 

 

zepto遍历节点

next 紧挨着的下一个兄弟元素

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div id="one">我是one</div>
    <p id="p">我是p</p>
    <div id="div">我是div</div>

    <script src="zepto.min.js"></script>
    <script>
        $("#one").next().html("我是two");//找下一个兄弟元素
        $("#one").next("div").html("我是two");//找下一个兄弟元素,且是div
    </script>
</body>
</html>

 

 

prev

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <p id="p1">我是p1</p>
    <div id="one">我是one</div>
    <p id="p2">我是p2</p>

    <script src="zepto.min.js"></script>
    <script>
        $("#one").prev().html("我是one的前一个元素");//找上一个兄弟元素
        $("#one").prev("p").html("我是one的前一个元素,并且是p");//找上一个兄弟元素,且是p
    </script>
</body>
</html>

 

 

siblings 获取前面后面的所有兄弟元素

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <p id="p1">我是p1</p>
    <div id="one">我是one</div>
    <p id="p2">我是p2</p>

    <script src="zepto.min.js"></script>
    <script>
        $("#one").siblings().html("我是one的兄弟元素");
    </script>
</body>
</html>

 

 

parent  直接父元素

parents  父元素、祖父元素等

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
    </style>
</head>
<body>
    <div id="p1">
        <div id="p2">
            <div id="p3">
                <div id="c">我是child</div>
            </div>
        </div>
    </div>

    <script src="zepto.min.js"></script>
    <script>
        console.log($("#c").parent());//x [div#p3, selector: array(1)]

        console.log($("#c").parents());//x(5) [div#p3, div#p2, div#p1, body, html, selector: array(5)]
    </script>
</body>
</html>

 

 

zepto中css-dom操作

样式有多个单词,可以使用连字符,也可以使用驼峰法

 

css  width  height

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <style>
        .pink{color:pink;}
        .big{font-size:30px;}
        .bgblue{background-color:lightblue;}
    </style>
</head>
<body>
    <div class="div">div</div>

    <script src="zepto.min.js"></script>
    <script>
        $(".div").css("color","pink");//修改单个样式

        $(".div").css("background-color","lightblue");//连字符
        $(".div").css("backgroundcolor","lightblue");//驼峰法

        $(".div").css({
            "color":"pink",
            "backgroundcolor":"lightblue",
            "font-size":"30px"
        });//修改多个样式

        $(".div").width(100);//修改宽度
        $(".div").height(100);//修改高度

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

 

软件
前端设计
程序设计
Java相关