JQuery技术应用---JQuery中的dom操作

JQuery技术应用—JQuery中的dom操作

(1),DOM(Document Object Model—文档对象模型):一种与浏览器, 平台, 语言无关的接口, 使用该接口可以轻松地访问页面中所有的标准组件
(2),DOM 操作的分类:
· DOM Core: DOM Core 并不专属于 JavaScript, 任何一种支持 DOM 的程序设计语言都可以使用它. 它的用途并非仅限于处理网页, 也可以用来处理任何一种是用标记语言编写出来的文档, 例如: XML
· HTML DOM: 使用 JavaScript 和 DOM 为 HTML 文件编写脚本时, 有许多专属于 HTML-DOM 的属性
· CSS-DOM:针对于 CSS 操作, 在 JavaScript 中, CSS-DOM 主要用于获取和设置 style 对象的各种属性
(3),jQuery对JavaScript中的DOM操作进行了封装,使用起来也更简便
jQuery中的DOM操作可分为:
样式操作
内容及Value属性值操作
节点操作
节点属性操作
节点遍历
CSS-DOM操作

1,直接设置样式值
使用css()为指定的元素设置样式值
在这里插入图片描述
例如:
在这里插入图片描述
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
</head>
<body>
    <script>
        $(function(){
     
     
            $("#pic").css({
     
     "border":"5px solid red","opacity":"0.6"})  //设置边框和透明度
        })
    </script>
    <img src="./img/lift_product_1.jpg" alt="" id="pic">
</body>
</html>

运行结果:
在这里插入图片描述
2,追加和移除样式
· 追加样式
在这里插入图片描述
· 移除样式
在这里插入图片描述
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
    <style>
        .add{
     
     
            color: blue;
            font-size: 20px;
        }
        .p2{
     
     
            color: red;
            font-size: 20px;
        }
    </style>

    <script>
        $(function(){
     
     
            $("button").click(function(){
     
     
                $("#p1").addClass("add")      //给p1添加样式 即添加一个add类

                $(".p2").removeClass("p2")   //删除p2的样式  即删除类名为p2的样式
            })
        })
    </script>
</head>
<body>
    <p id="p1">落霞与孤鹜齐飞</p>
    <p class="p2">秋水共长天一色</p>
    <button>点我改变样式</button>
</body>
</html>

运行结果:
改变前:
在这里插入图片描述
改变后:
在这里插入图片描述
3,切换样式
toggleClass()模拟了addClass()与removeClass()实现样式切换的过程
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
    <style>
        li{
     
     
            list-style: none;
            float: left;
            padding: 0px 10px;
        }
        .show{
     
     
				color: red;
				background-color: blueviolet;
			}
    </style>

    <script>
        $(function(){
     
     
            $("li").hover(function(){
     
     
                $(this).toggleClass("show")
            })
        })
    </script>
</head>
<body>
    <ul>
        <li>首页</li>
        <li>手机</li>
        <li>电脑</li>
        <li>我的</li>
    </ul>
</body>
</html>

运行结果:
在这里插入图片描述
切换样式:鼠标放到上面改变背景颜色和字体颜色,鼠标移走后恢复
在这里插入图片描述
4,HTML代码操作和文本操作
· HTML代码操作
html()可以对HTML代码进行操作,类似于JS中的innerHTML
在这里插入图片描述
· 文本操作
text()可以获取或设置元素的文本内容
在这里插入图片描述
html()和text() 的区别如下:
在这里插入图片描述
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="./js/jquery-3.4.1.js"></script>
    <script>
        //html代码操作
        $(function(){
     
     
            var a = $("#left").html()      //获取div里的内容(即HTML代码)
            alert(a)
            $("button").click(function(){
     
     
                //设置div里的内容(html代码)
                $("#left").html("<div><img src='./img/headimg.jpg'></div>")
            })
        })
       //文本操作
       $(function(){
     
     
           var b = $("#left").text()      //获取div里的文本内容
           alert(b)
           $("button").click(function(){
     
     
               //设置div里的文本内容
               $("#left").text("<div><img src='./img/headimg.jpg'></div>")
           })
       })
    </script>
</head>
<body>
    <div id="left">
        <img src="./img/lift_product_1.jpg" alt="">
        <p>这是一把小雨伞</p>
    </div>
    <button>点我换内容</button>
</body>
</html>

5,Value值操作
val()可以获取或设置元素的value属性值
在这里插入图片描述
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="./js/jquery-3.4.1.js"></script>
    <script>
        $(function(){
     
     
            $("#content").focus(function(){
     
         //得到焦点
                var contents = $("#content").val()    //获取value值
                if(contents=="请输入搜索内容"){
     
     
                    $("#content").val("")
                }
            })

            $("#content").blur(function(){
     
     
                var contents = $("#content").val()
                if(contents==""){
     
     
                    $("#content").val("请输入搜索内容")
                }
            })
        })
    </script>
</head>
<body>
    <input type="text" value="请输入搜索内容" id="content"><input type="button" value="搜索">
</body>
</html>

6,插入同辈节点、替换、复制、删除节点
· 插入同辈节点
在这里插入图片描述
· 替换节点
replaceWith()和replaceAll()用于替换某个节点
在这里插入图片描述
· 复制节点
clone()用于复制某个节点
在这里插入图片描述
· 删除节点
jQuery提供了三种删除节点的方法
remove():删除整个节点
detach():删除整个节点,保留元素的绑定事件、附加的数据
empty():清空节点内容 (文本内容)
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
    <style>
        li{
     
     
            list-style: none;
        }

    </style>

    <script>
        $(function(){
     
     
            var newNode=$("<li>汤姆和杰瑞</li>")    // B
            //将B插入a之后
            $("#a").after(newNode)
            //将a插入B之后
            newNode.insertAfter("#a")
            //将B插入a之前
            $("#a").before(newNode)
            //将a插入B之前
            newNode.insertBefore("#a")
            //用B替换a
            $("#a").replaceWith(newNode)
            //把c替换成B
            newNode.replaceAll("#c")
            //复制节点
            $("#a").clone(true).appendTo("#d")
        })
    </script>
</head>
<body>
    <ul>
        <li id="d">葫芦娃</li>
        <li>苏克和贝塔</li>
        <li>黑猫警长</li>
        <li id="a">铁臂阿童木</li>   
        <li>圣斗士星矢</li>
        <li id="c">魔神坛斗士</li>
    </ul>
</body>
</html>

7,获取与设置节点属性
attr()用来获取与设置元素属性
在这里插入图片描述
removeAttr()用来删除元素的属性
在这里插入图片描述
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="./js/jquery-3.4.1.js"></script>

    <script>
        $(function(){
     
     
            var a = $("img").attr("alt")   //获取属性alt的值
            alert(a)
            $("img").attr({
     
     "width":"200px","height":"300px"})   //给img添加属性
            $("img").removeAttr("height")      //删除img的height属性
        })
    </script>
</head>
<body>
    <img src="./img/lift_product_1.jpg" alt="这是一把雨伞">
</body>
</html>

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tan1024/article/details/114666678
今日推荐