jQuery选择器与DOM操作@2018-06-17

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34983808/article/details/80719280

1、层次选择器



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <link rel="stylesheet" href="css/mycss.css">

    <style>
        .color_info {
            color: pink;
        }
    </style>
</head>
<body>


<div class="outer">
    <div class="inner" id="inner">
        <p>www.zbiti.com-11</p>
        <ul>
            <li>www.zbiti.com-1</li>
            <li>www.zbiti.com-2</li>
            <li>www.zbiti.com-3</li>
            <li>www.zbiti.com-4</li>
            <li>www.zbiti.com-5</li>
            <li>www.zbiti.com-6</li>
        </ul>
        <ol>
            <li>www.zbiti.com-7</li>
            <li>www.zbiti.com-8</li>
            <li>www.zbiti.com-9</li>
        </ol>
        <p>www.zbiti.com-10</p>
    </div>

</div>

<script>
    $(function () {

    })

    /*

    //ul下一个兄弟ol
    $("#inner ul").next().addClass("color_info")

    //ul后面所有兄弟ol,p
    $("#inner ul").nextAll().addClass("color_info")

    //ul的儿子li
    $("#inner ul").children().addClass("color_info")

    //ul的所有兄弟
    $("#inner ul").siblings().addClass("color_info")

    //ul的儿子的第一个li
    $("#inner ul").children().first().addClass("color_info")



    //ul的儿子的最后一个li
    $("#inner ul").children().last().addClass("color_info")


    //ul的儿子的偶数个
    $("#inner ul").children(":even").addClass("color_info")

    //ul的儿子的奇数个
    $("#inner ul").children(":odd").addClass("color_info")

    //ul的儿子中等于第一个li
    $("#inner ul").children(":eq(0)").addClass("color_info")
    $("#inner ul").children().eq(0).addClass("color_info")

    //ul的儿子中大于第一个(包含第一个)
    $("#inner ul").children(":gt(0)").addClass("color_info")

    //ul的儿子中小于第4个(不包含第四个)
    $("#inner ul").children(":lt(3)").addClass("color_info")

     //ul的儿子中除了第一个li
    $("#inner ul").children().not(":first").addClass("color_info")
    $("#inner ul").children(":not(\":first\")").addClass("color_info")


    */



    $("#inner ul").children().eq(0).addClass("color_info")

    //自定义log函数
    var log = function () {
        console.log.apply(console, arguments)
    }
</script>
</body>
</html>

效果:
这里写图片描述

2、DOM操作

原生DOM操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <link rel="stylesheet" href="css/mycss.css">

    <style>
        .color_info {
            color: pink;
        }
    </style>
</head>
<body>


<div class="outer">
    <div class="inner" id="inner">
        <p>www.zbiti.com-11</p>
        <ul>
            <li>www.zbiti.com-1</li>
            <li>www.zbiti.com-2</li>
            <li>www.zbiti.com-3</li>
            <li>www.zbiti.com-4</li>
            <li>www.zbiti.com-5</li>
            <li>www.zbiti.com-6</li>
        </ul>
        <ol>
            <li>www.zbiti.com-7</li>
            <li>www.zbiti.com-8</li>
            <li>www.zbiti.com-9</li>
        </ol>
        <p>www.zbiti.com-10</p>
    </div>

</div>

<script>
    $(function () {


    })


    //原生DOM操作
    //创建元素节点
    var p = document.createElement("p")
    p.className = "color_info"

    //添加元素节点到指定DOM树的某个节点
    var inner = document.getElementById("inner")
    inner.appendChild(p)

    //创建文本节点
    var textNode = document.createTextNode("www.zbiti.com-12")
    p.appendChild(textNode)

    //添加id属性
    //参数:属性名、属性值
    p.setAttribute("id", "new_id")

    //添加类
    // p.setAttribute("class", "new_class1") 会覆盖之前的类名
    p.classList.add("new_class1", "new_class2")

    //添加点击监听
    //参数:事件类型、回调函数名、是否允许事件冒泡
    p.addEventListener("click", mylistener, false)

    function mylistener() {
        alert("新添加的监听回调函数")

        //根据类名取得DOM元素对象
        var myp = document.getElementsByClassName("new_class1")
        var myclass = myp[0].getAttribute("class").split(" ")
        // var myp = document.getElementById("new_id")
        //var myclass = myp.getAttribute("class"

        log("myp值:",myp,"myclass值:", myclass,"myp长度:",myp.length,"myclass长度:",myclass.length)


        log("开始遍历类名")
        for (var i = 0; i < myclass.length; i++) {
            log(myclass[i] == "new_class1")
        }
        log("结束遍历类名")
    }

    //定义log函数
    var log = function () {
        console.log.apply(console, arguments)
    }
</script>
</body>
</html>

jQuery DOM操

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <link rel="stylesheet" href="css/mycss.css">

    <style>
        .color_info {
            color: pink;
        }
    </style>
</head>
<body>


<div class="outer">
    <div class="inner" id="inner">
        <p>www.zbiti.com-11</p>
        <ul>
            <li>www.zbiti.com-1</li>
            <li>www.zbiti.com-2</li>
            <li>www.zbiti.com-3</li>
            <li>www.zbiti.com-4</li>
            <li>www.zbiti.com-5</li>
            <li>www.zbiti.com-6</li>
        </ul>
        <ol>
            <li>www.zbiti.com-7</li>
            <li>www.zbiti.com-8</li>
            <li>www.zbiti.com-9</li>
        </ol>
        <p>www.zbiti.com-10</p>
    </div>

</div>

<script>
    var log = function () {
        console.log.apply(console, arguments)
    }

    $(function () {


    })




    //jQuery DOM操作
    //创建元素节点
    var $p = $('<p class="color_info">www.zbiti-13</p>')

    //添加元素节点到指定DOM树的某个节点
    $("#inner").append($p)


    //添加类名
    // $p.addClass("new_class1")
    // $p.addClass("new_class2")
    $p.addClass("new_class1 new_class2   new_class3")


    //添加id
    $p.attr("id","new_id")


    //myclass类型是string
    var myclass = $p.attr("class")
    log("myclass类型:", typeof myclass, "myclass值:", myclass)


    //newmyclass类型是Array
    var newmyclass = myclass.split(" ")
    log("newmyclass类型:", newmyclass.constructor==Array, "newmyclass值:", newmyclass)




    //添加点击监听
    $p.on({
        click:clickfn
    })

    function clickfn() {
        alert("新添加的点击监听回调函数")
    }


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

参考:
选择器
https://segmentfault.com/a/1190000007830199
https://segmentfault.com/a/1190000014522257#articleHeader3
https://segmentfault.com/a/1190000010555092

jQuery DOM操作
https://github.com/chokcoco/jQuery-
https://segmentfault.com/a/1190000010633617
https://segmentfault.com/a/1190000004260332#articleHeader21
https://segmentfault.com/a/1190000000536289#articleHeader0

原生DOM操作
https://segmentfault.com/a/1190000004076145#articleHeader6
https://segmentfault.com/a/1190000006671371
https://segmentfault.com/a/1190000009588427#articleHeader20
https://segmentfault.com/a/1190000006150186

猜你喜欢

转载自blog.csdn.net/qq_34983808/article/details/80719280