jQuery

avatar
作者
筋斗云
阅读量:0

js库 -> .js文件

快速入门

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> <!--    <script type="text/javascript">--> <!--        window.onload = function () {--> <!--            var btn01 = document.getElementById("btn01");--> <!--            btn01.onclick = function () {--> <!--                alert("hello js");--> <!--            }--> <!--        }--> <!--    </script>-->     <script type="text/javascript" src="script/jquery-3.7.1.js"></script>     <script>         $(function () {             var $btn01 = $("#btn01");             $btn01.click(function (){                 alert("hello,jquery")             })         });     </script> </head> <body>     <button id="btn01">按钮</button> </body> </html>
  • $(function() {...}),用于确保页面的DOM完全加载后才执行代码。
  • 获取对象时,在id前必须有#符号,jquery对象的命名以$开头
  • $btn01是个jquery对象,是对dom对象的包装
  • jquery是个数组对象
     

jquery对象和DOM对象

DOM对象转成jquery对象 

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title>     <script type="text/javascript" src="script/jquery-3.7.1.js"></script>     <script>         $(function () {             var username = document.getElementById("username");             alert(username.value);             var $username = $(username);             alert($username.val());         });     </script> </head> <body>     <input type="text" id="username" value="123"> </body> </html>

jquery对象转成DOM对象

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title>     <script type="text/javascript" src="script/jquery-3.7.1.js"></script>     <script>         $(function () {             var $username = $("#username");             //可以通过[index]来获取,也可以通过get(index)             var username1 = $username[0];             var username2 = $username.get(0);             alert(username1.value);         });     </script> </head> <body>     <input type="text" id="username" value="123"> </body> </html>

jquery选择器

介绍

基本选择器

 

  层次选择器

  

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>层次选择器应用实例</title>     <style type="text/css">         div, span {             width: 140px;             height: 140px;             margin: 20px;             background: #9999CC;             border: #000 1px solid;             float: left;             font-size: 17px;             font-family: Roman;         }          div.mini {             width: 80px;             height: 30px;             background: #CC66FF;             border: #000 1px solid;             font-size: 12px;             font-family: Roman;         }     </style>     <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function () {              //1. 改变 <body> 内所有 <div> 的背景色为 #0000FF             $("#b1").click(                 function () {                     $("div").css("background","#0000FF");                 }             )             //2. 改变 <body> 内子 <div>[第一层div] 的背景色为 #FF0033             $("#b2").click(                 function () {                     $("body>div").css("background","#FF0033");                 }             )             //3. 改变 id 为 one 的下一个 <div> 的背景色为 #0000FF             $("#b3").click(                 function () {                     $("#one + div").css("background","#0000FF");                 }             )             //4. 改变 id 为 two 的元素后面的所有兄弟<div>的元素的背景色为 #0000FF             $("#b4").click(                 function () {                     $("#two ~ div").css("background","#0000FF");                 }             )             //5. 改变 id 为 two 的元素所有 <div> 兄弟元素的背景色为 #0000FF             $("#b5").click(                 function () {                     $("#two").siblings("div").css("background","#0000FF");                 }             )         });     </script> </head> <body> <input type="button" value="改变 <body> 内所有 <div> 的背景色为 #0000FF" id="b1"/> <input type="button" value="改变 <body> 内子 <div> 的背景色为 #FF0033" id="b2"/> <input type="button" value=" 改变 id 为 one 的下一个 <div> 的背景色为 #0000FF" id="b3"/> <input type="button" value=" 改变 id 为 two 的元素后面的所有兄弟<div>的元素的背景色为 # #0000FF" id="b4"/> <input type="button" value=" 改变 id 为 two 的元素所有 <div> 兄弟元素的背景色为 #0000FF" id="b5"/> <hr/> <div id="one" class="mini">     div id为one </div> <div id="two">     div id为two     <div id="two01">         id two01     </div>     <div id="two02">         id two02     </div> </div>  <div id="three" class="mini">     div id为three     <div id="three01">         id three01     </div> </div>   </body> </html>

 基础过滤选择器

    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function (){              //*****改变第一个 div 元素的背景色为 #0000FF             $("#b1").click(                 function () {                     $("div:first").css("background","#0000FF");                 }             )             //***改变class不为 one 的所有 div 元素的背景色为 #0000FF             $("#b2").click(                 function () {                     $("div:not(.one)").css("background","#0000FF");                 }             )             //********改变索引值为偶数的 div 元素的背景色为 #0000FF             $("#b3").click(                 function () {                     $("div:even(even)").css("background","#0000FF");                 }             )             //*****改变索引值为大于 3 的 div 元素的背景色为 #0000FF             $("#b4").click(                 function () {                     $("div:gt(3)").css("background","#0000FF");                 }             )         });     </script>

内容过滤选择器

    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function () {             //********改变含有文本 ‘di’ 的 div 元素的背景色为 #0000FF             $("#b1").click(                 function () {                     $("div:contains('di')").css("background", "#0000FF")                 }             )              //**************改变不包含子元素(或者文本元素) 的 div 的背景色为 pink             $("#b2").click(                 function () {                     $("div:empty").css("background", "pink")                 }             )              //******改变含有 class 为 mini 元素的 div 元素的背景色为 green             $("#b3").click(                 function () {                     //这个写法是选择 有 class='.mini' 的div的父元素(div)                     $("div:has('.mini')").css("background", "pink")                     //这个是选择有 class='.mini' div                     $("div.mini").css("background", "pink");                 }             )                          //****改变含有子元素(或者文本元素)的div元素的背景色为 yellow             $("#b4").click(                 function () {                     $("div:parent").css("background", "yellow")                 }             )              //***改变不含有文本 di; 的 div 元素的背景色 pink             //不要求,小伙伴记住, 但是需要可以看懂.             $("#b6").click(                 function () {                     $("div:not(:contains('di'))").css("background", "pink")                 }             )          });

可见度过滤选择器 

    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function () {             //*****改变所有可见的div元素的背景色为 #0000FF             $("#b1").click(                 function () {                     $("div:visible").css("background", "red");                 }             )             //**选取所有不可见的div元素, 利用 jQuery 中的 show() 方法将它们显示出来, 并设置其背景色为 #0000FF             $("#b2").click(                 function () {                     $("div:hidden").css("background", "green");                     $("div:hidden").show();                 }             )             //**选取所有的文本隐藏域, 并打印它们的值             $("#b3").click(                 function () {                     //1. 先得到所有的hidden 元素                     //2. $inputs 是一个jquery对象,而且是数组对象                     var $inputs = $("input:hidden");                     //alert("length= " + $inputs.length)                     //3. 遍历-认真                     //方式1 - for                     // for (var i = 0; i < $inputs.length; i++) {                     //     //这里input 就是一个dom对象                     //     var input = $inputs[i];                     //     console.log("值是= " + input.value);                     // }                     //方式2 - jquery each() 可以对数组遍历                     // 老韩说明                     //(1) each 方法,遍历时,会将 $inputs 数组的元素                     //    取出, 传给 function() {} -> this                     $inputs.each(function (){                         //这里可以使用this获取每次遍历的对象                         //this 对象是是dom对象                         console.log("值是(dom方式)=" + this.value);                          //也可以将this -> jquery 对象使用jquery方法取值                         console.log("值是(jquery方式)=" + $(this).val())                     })                  }             )         });     </script>

 属性过滤选择器

    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function () {             //*****含有属性title 的div元素.             $("#b1").click(                 function () {                     $("div[title]").css("background", "green");                 }             )              //****属性title值等于test的div元素             $("#b2").click(                 function () {                     $("div[title='test']").css("background", "green");                 }             )              //属性title值不等于test的div元素(没有属性title的也将被选中)              $("#b3").click(                 function () {                     $("div[title!='test']").css("background", "green");                 }             )              //属性title值 以te开始 的div元素             $("#b4").click(                 function () {                     $("div[title^='te']").css("background", "green");                 }             )              //属性title值 以est结束 的div元素             $("#b5").click(                 function () {                     $("div[title$='est']").css("background", "green");                 }             )              //属性title值 含有es的div元素             $("#b6").click(                 function () {                     $("div[title *= 'es']").css("background", "green");                 }             )              //选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素             $("#b7").click(                 function () {                     $("div[id][title *= 'es']").css("background", "green");                 }             )          });     </script>

子元素过滤选择器

<script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>     <script type="text/javascript">         $(function () {             //****每个class为one的div父元素下的第2个子元素             $("#b1").click(                 function () {                     $("div .one:nth-child(2)").css("background", "yellow");                 }             )              //*****每个class为one的div父元素下的第一个子元素             //老师再说 $("div .one")             $("#b2").click(                 function () {                     $("div .one:first-child").css("background", "green");                     //$("div .one:nth-child(1)").css("background", "green");                 }             )              //*****每个class为one的div父元素下的最后一个子元素             $("#b3").click(                 function () {                     $("div .one:last-child").css("background", "red");                 }             )                          //**如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素             $("#b4").click(                 function () {                     $("div .one:only-child").css("background", "pink");                 }             )          });     </script>

 表单属性过滤选择器

 <script type="text/javascript">         $(function (){             //*利用 jQuery 对象的 val() 方法改变表单内 type=text 可用 <input> 元素的值              $("#b1").click(                 function () {                     //老师解读                     //$jquery对象.val() , 如果() 是空的,就表示返回value                     //$jquery对象.val('值') , 就表示给该对象value设置值                     $("input[type='text']:enabled").val("台球");                 }             )              //利用 jQuery 对象的 val() 方法改变表单内 type=text 不可用 <input> 元素的值              $("#b2").click(                 function () {                     //老师解读                     //$jquery对象.val() , 如果() 是空的,就表示返回value                     //$jquery对象.val('值') , 就表示给该对象value设置值                     $("input[type='text']:disabled").val("足球");                 }             )             //利用 jQuery 对象的 length 属性获取多选框/复选框选中的个数             $("#b3").click(                 function () {                     alert($("input[type='checkbox']:checked").length);                 }             )             //****利用 jQuery 对象的 text() 方法获取下拉框选中的内容             $("#b4").click(                 function () {                     //如果我们希望选择指定的select , 可以加入属性过滤选择器                     //var $selects = $("select[属性='值'] option:selected");                     var $selects = $("select option:selected");                     $selects.each(function (){                         alert("你选择了= " + $(this).text())                     })                 }             )          });     </script>

 表单选择器

 <script type="text/javascript">         $(function () {             //选择所有的button             //这里我们就不绑定事件,直接演示             //老师解读 $(":button") 会选择<input type="button" value="按钮1"/><br/>             //还会选择  <button>按钮2</button>             var $button = $(":button");             alert("$button 大小=" + $button.length)//3              //得到type="button" 的元素             //老韩解读 $("input[type='button']") 只会得到 <input type="button" value="按钮1"/>             var $button2 = $("input[type='button']");             alert("$button2 大小=" + $button2.length)//1              //得到<button />按照元素标签取值             //老韩解读 $("button") 只会按照元素标签获取 <button>按钮2</button>             var $button3 = $("button");             alert("$button3 大小=" + $button3.length)//2         });     </script>

DOM操作

设置、修改属性

attr()

创建节点

反恐会移动到天津后面 

删除节点

复制节点

 替换节点

属性操作

样式操作 

 <script type="text/javascript">         $(function () {             //获取 class 和设置 class 都可以使用 attr() 方法来完成.(给id 为first添加 .one 样式)             $("#b1").click(function (){                 $("#first").attr("class", "one");             })             //追加样式: addClass()             $("#b2").click(function (){                 $("#first").addClass("one");             })              //移除样式: removeClass() --- 从匹配的元素中删除全部或指定的 class             $("#b3").click(function (){                 $("#first").removeClass();             })              //切换样式: toggleClass()  --- 控制样式上的重复切换.如果类名存在则删除它, 如果类名不存在则添加它             $("#b4").click(function (){                 $("#first").toggleClass("one");             })              //判断是否含有某个样式: hasClass() --- 判断元素中是否含有某个 class, 如果有, 则返回 true; 否则返回 false             $("#b5").click(function (){                 alert($("#first").hasClass("one"));             })         });     </script>

 常用遍历节点方法 

    <script type="text/javascript">         $(function () {              //**查找所有子元素(class 为 one 的div的子元素)             $("#b1").click(function () {                  //我们可以使用这样的方式$("div[class='one']") 来选择                 //class 为 one 的div                 $("div[class='one']").children().each(function () {                     alert("子div的内容是~~~ " + $(this).text());                 })                  // $("div.one").children().each(function (){                 //     alert("子div的内容是= " + $(this).text());                 // })                 //指定获取到第几个子元素, eq(1) 表示得到第2个子元素                 //alert($("div.one").children().eq(1).text());              })              //***获取后面的同辈div元素(class 为 one 的div的)             $("#b2").click(function () {                 //老师解读                 //1. $("div.one") 选择到 class = one 的 div                 //2. nextAll() 获取到后面所有的同辈元素                 //3. filter("div"), 获取到后面所有的同辈元素, 进行过滤,只得到div                 //4. each 遍历                 $("div.one").nextAll().filter("div").each(function () {                     alert("后面同辈div的内容是= " + $(this).text());                 })                  //如果我们希望得到后面同辈元素的第几个,可以eq                 //获取到后面同辈div元素的第2个                 alert("后面同辈div元素的第2个的内容=" +                     $("div.one").nextAll().filter("div").eq(1).text());//aaaa..                  //如果我们希望得到的是紧邻的面同辈元素                 alert("紧邻的面同辈元素=" +                     $("div.one").next().text());//ttt...             })              //**获取前面的同辈div元素(class 为 one 的div的)             $("#b3").click(function () {                 //遍历                 // $("div.one").prevAll().filter("div").each(function (){                 //     alert("div的内容= " + $(this).text());                 // })                  //得到前面的同辈元素第4个                 //$("div.one").prevAll().eq(3);                 //得到前面的紧邻同辈元素                 alert($("div.one").prev().text())//ccccc             })             //**获取所有的同辈div元素(class 为 one 的div的)             $("#b4").click(function () {                 $("div.one").siblings().filter("div").each(function () {                     alert("同辈div text= " + $(this).text())                 })             })          })     </script>

 CSS操作

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!