jQuery

2725人阅读

目录

1、什么是jquery?

 

 

 

2、jQuery语法

2.1、元素选择器

2.2、属性选择器 

2.3、CSS选择器

2.4、事件函数

2.5、hide()隐藏函数

3、jQuery效果

3.1、隐藏/显示

3.2、淡入/淡出

3.3、滑动

3.4、动画

3.5、stop函数停止动画

3.6、函数链接

4、jQuery之DOM操作

4.1、获取内容

4.2、获取属性

4.3、设置内容

4.4、设置属性attr()和删除属性removeAttr()

4.5、设置属性prop()和删除属性removeProp() 

4.6、添加内容 

4.7、删除元素

4.8、获取并设置CSS类 

5、jQuery选择器

5.1、基本选择器

5.2、层级选择器

5.3、基本过滤选择器

 

 

 

 

 

 

 


 

前言:学习jQuery之前,必须先学习HTML+CSS+JS,后学jQuery才会更加简单。

1、什么是jquery?

jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程。

jQuery 学习很容易。

2、jQuery语法

2.1、元素选择器

$(this).hide()

演示 jQuery hide() 函数,隐藏当前的 HTML 元素。

$("#test").hide()

演示 jQuery hide() 函数,隐藏 id="test" 的元素。

$("p").hide()

演示 jQuery hide() 函数,隐藏所有 <p> 元素。

$(".test").hide()

演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。

2.2、属性选择器 

jQuery 使用 XPath 表达式来选择带有给定属性的元素。

$("[href]") 选取所有带有 href 属性的元素。

$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。

$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。

$("[href$='.txt']") 选取所有 href 值以 ".txt" 结尾的元素。

2.3、CSS选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <body>

  9. <p id="one">我要变绿</p>

  10. <p id="two">我要变蓝</p>

  11. <p id="three">我要变黄</p>

  12. <button id="green">点我变绿</button>

  13. <button id="blue">点我变蓝</button>

  14. <button id="yellow">点我变黄</button>

  15. </body>

  16. <script>

  17. $(document).ready(function(){

  18. $("#green").click(function(){

  19. $("#one").css("background-color","green");

  20. });

  21. $("#blue").click(function(){

  22. $("#two").css("background-color","blue");

  23. });

  24. $("#yellow").click(function(){

  25. $("#three").css("background-color","yellow");

  26. });

  27. });

  28. </script>

  29. </html>

c2c763771201429ea232b600a0f12e78.png

2.4、事件函数

事件函数指的是:当按钮的点击事件被触发时会调用一个函数。事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。

事件函数说明
$(document).ready(function)将函数绑定到文档的就绪事件(当文档完成加载时)
$(selector).click(function)触发或将函数绑定到被选元素的点击事件
$(selector).dblclick(function)触发或将函数绑定到被选元素的双击事件
$(selector).focus(function)触发或将函数绑定到被选元素的获得焦点事件
$(selector).mouseover(function)触发或将函数绑定到被选元素的鼠标悬停事件

2.5、hide()隐藏函数

hide()隐藏函数相当于js中的display:none,指的是让元素隐藏功能。

文档就绪函数

 
  1. $(document).ready(function(){

  2.  
  3. // jQuery functions go here

  4.  
  5. });

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="js/jquery-1.8.3.js"></script>

  7. </head>

  8. <script>

  9. $(document).ready(function(){

  10. //p标签点击事件函数

  11. $("p").click(function(){

  12. //隐藏当前元素

  13. $(this).hide();

  14. });

  15. });

  16. </script>

  17. <body>

  18. <p>点我消失</p>

  19. <p>点我消失</p>

  20. <p>点我消失</p>

  21. </body>

  22. </html>

3、jQuery效果

3.1、隐藏/显示

函数说明
JQuery hide()隐藏
JQuery show()显示

jQuery toggle()

切换 hide() 和 show() 方法

hide()和show()以及toggle()是可以进行填写毫秒值来延迟隐藏/显示效果的。 

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <body>

  9. <p id="p1">如果点击“隐藏”按钮,我就会消失。</p>

  10. <button id="hide" type="button">隐藏</button>

  11. <button id="show" type="button">显示</button>

  12. <button type="button" id="button">切换</button>

  13. <p>这是一个段落。</p>

  14. <p>这是另一个段落。</p>

  15. </body>

  16. <script>

  17. // 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。

  18.  
  19. // 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。

  20. $(document).ready(function(){

  21. $("#hide").click(function(){

  22. $("p").hide(1000);//hide和show里可以添加毫秒值 会有延迟显现/消失效果

  23. });

  24. $("#show").click(function(){

  25. $("p").show(1000);//hide和show里可以添加毫秒值 会有延迟显现/消失效果

  26. });

  27. $("#button").click(function(){

  28. $("p").toggle(1000);//toggle就是hide和show的整合,可以添加毫秒值 会有延迟显现/消失效果

  29. });

  30.  

3.2、淡入/淡出

函数说明
fadeIn()淡入已隐藏的元素
fadeOut()用于淡出可见元素
fadeToggle可以在 fadeIn() 与 fadeOut() 方法之间进行切换
fadeTo()方法允许渐变为给定的不透明度(值介于 0 与 1 之间)
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <body>

  9. <p>演示带有不同参数的 fadeIn() 方法。</p>

  10. <button id="fadeIn">点击这里,使三个矩形淡入</button>

  11. <button id="fadeOut">点击这里,使三个矩形淡出</button>

  12. <button id="fadeToggle">点击这里,使三个矩形淡入淡出</button>

  13. <button id="fadeTo">点击这里,使三个矩形淡出透明度</button>

  14. <br><br>

  15. <div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div>

  16. <br>

  17. <div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div>

  18. <br>

  19. <div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>

  20. </body>

  21. <script>

  22. // 可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

  23. // 可选的 callback 参数是 fading 完成后所执行的函数名称。

  24.  
  25. //fadeIn 淡入

  26. $(document).ready(function() {

  27. $("#fadeIn").click(function() {

  28. $("#div1").fadeIn();

  29. $("#div2").fadeIn("slow");

  30. $("#div3").fadeIn(2000);

  31. });

  32. //fadeOut 淡出

  33. $("#fadeOut").click(function(){

  34. $("#div1").fadeOut();

  35. $("#div2").fadeOut("slow");

  36. $("#div3").fadeOut(2000);

  37. });

  38. //fadeToggle()淡入淡出

  39. $("#fadeToggle").click(function(){

  40. $("#div1").fadeToggle();

  41. $("#div2").fadeToggle("slow");

  42. $("#div3").fadeToggle(2000);

  43. });

  44. //fadeTo()函数 后面可以填写透明度

  45. $("#fadeTo").click(function(){

  46. $("#div1").fadeTo("slow",0.2);

  47. $("#div2").fadeTo("slow",0.4);

  48. $("#div3").fadeTo(2000,0.7);

  49. });

  50. });

  51. </script>

  52. </html>

3.3、滑动

函数说明
slideDown()用于向下滑动元素
slideUp()用于向上滑动元素
slideToggle()可以在 slideDown() 与 slideUp() 方法之间进行切换
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <style type="text/css">

  7. .panel,

  8. .flip {

  9. width: 500px;

  10. margin: 0 auto;

  11. padding: 5px;

  12. text-align: center;

  13. background: #e5eecc;

  14. border: solid 1px #c3c3c3;

  15. }

  16.  
  17. .panel {

  18. height: 120px;

  19. display: none;

  20. }

  21. </style>

  22. </head>

  23. <script src="js/jquery-1.8.3.js"></script>

  24. <script>

  25.  
  26. $(document).ready(function(){

  27. // jQuery slideDown() 方法用于向下滑动元素。

  28. // $(".flip").click(function(){

  29. // $(".panel").slideDown("slow");

  30. // });

  31. // jQuery slideUp() 方法用于向上滑动元素。

  32. // $(".flip").click(function(){

  33. // $(".panel").slideUp("slow");

  34. // });

  35. // jQuery slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。

  36. $(".flip").click(function(){

  37. $(".panel").slideToggle("slow");

  38. });

  39. });

  40. </script>

  41. <body>

  42. <div class="panel">

  43. <p>欢迎光临本网站</p>

  44. <p>请您先进行注册</p>

  45. </div>

  46. <p class="flip">展开/收起</p>

  47. </body>

  48. </html>

3.4、动画

animate函数

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <script>

  9. $(document).ready(function(){

  10. // 也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:

  11. $("button").click(function(){

  12. $("div").animate(

  13. {left:'400px',

  14. opacity:'0.5',

  15. // 您可以把属性的动画值设置为 "show"、"hide" 或 "toggle":

  16. height:'toggle',

  17. width:'+=150px'

  18. },1000);

  19. });

  20. });

  21. </script>

  22. <body>

  23. <button>开始动画</button>

  24. <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p>

  25. <div style="background:#98bf21;height:100px;width:100px;position:absolute;">

  26. </div>

  27. </body>

  28. </html>

动画的排队执行

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <script>

  9. $(document).ready(function(){

  10. $("button").click(function(){

  11. //把元素div赋值到一个变量

  12. var div=$("div");

  13. div.animate({height:'300px',opacity:'0.4'},"slow");

  14. div.animate({width:'300px',opacity:'0.8'},"slow");

  15. div.animate({height:'100px',opacity:'0.4'},"slow");

  16. div.animate({width:'100px',opacity:'0.8'},"slow");

  17. });

  18. });

  19. </script>

  20. <body>

  21. <button>开始动画</button>

  22. <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p>

  23. <div style="background:#98bf21;height:100px;width:100px;position:absolute;">

  24. </div>

  25. </body>

  26. </html>

动画右移字体变大

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-1.8.3.js"></script>

  8. <script>

  9. $(document).ready(function(){

  10. $("button").click(function(){

  11. var div=$("div");

  12. div.animate({left:'100px'},"slow");

  13. div.animate({fontSize:'3em'},"slow");

  14. });

  15. });

  16. </script>

  17. <body>

  18. <button>开始动画</button>

  19. <p>默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p>

  20. <div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div>

  21. </body>

  22. </html>

3.5、stop函数停止动画

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <style type="text/css">

  7. #panel,#flip

  8. {

  9. padding:5px;

  10. text-align:center;

  11. background-color:#e5eecc;

  12. border:solid 1px #c3c3c3;

  13. }

  14. #panel

  15. {

  16. padding:50px;

  17. display:none;

  18. }

  19. </style>

  20. </head>

  21. <script src="js/jquery-1.8.3.js"></script>

  22. <script>

  23. // stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

  24. $(document).ready(function(){

  25. $("#flip").click(function(){

  26. $("#panel").slideDown(5000);

  27. });

  28. //停止滑动

  29. $("#stop").click(function(){

  30. $("#panel").stop();

  31. });

  32. });

  33.  
  34. </script>

  35. <body>

  36. <button id="stop">停止滑动</button>

  37. <div id="flip">点击这里,向下滑动面板</div>

  38. <div id="panel">Hello world!</div>

  39. </body>

  40. </html>

3.6、函数链接

一次写一条 jQuery 语句(一条接着另一条)很麻烦,不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="js/jquery-1.8.3.js"></script>

  7. </head>

  8.  
  9. <script>

  10. $(document).ready(function(){

  11. $("button").click(function(){

  12. $("#p1").css("color","red").slideDown(1000).slideUp(1000);

  13. });

  14. });

  15. </script>

  16. <body>

  17. <p id="p1">jQuery 乐趣十足!</p>

  18. <button>点击这里</button>

  19. </body>

  20. </html>

5、jQuery之DOM操作

5.1、获取内容

方法名说明
text()设置或返回所选元素的文本内容
html()设置或返回所选元素的内容(包括 HTML 标记)
val()设置或返回表单字段的值
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="js/jquery-3.4.1.js"></script>

  7. </head>

  8. <body>

  9. <p id="test">这是段落中的<b>粗体</b>文本。</p>

  10. <button id="btn1">显示文本</button>

  11. <button id="btn2">显示 HTML</button>

  12.  
  13. <p>姓名:<input type="text" id="test2" value="米老鼠"></p>

  14. <button id="show">显示值</button>

  15. </body>

  16. <script>

  17. // text() - 设置或返回所选元素的文本内容

  18. // html() - 设置或返回所选元素的内容(包括 HTML 标记)

  19. // val() - 设置或返回表单字段的值

  20. $(function(){

  21. $("#btn1").click(function(){

  22. alert($("#test").text());

  23. });

  24. $("#btn2").click(function(){

  25. alert($("#test").html());

  26. });

  27. $("#show").click(function(){

  28. alert($("#test2").val());

  29. });

  30. });

  31. </script>

  32.  
  33. </html>

5.2、获取属性

方法名说明
attr()用于获取属性值。
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="js/jquery-3.4.1.js"></script>

  7. </head>

  8. <body>

  9. <p><a href="http://www.w3school.com.cn" id="w3s">W3School.com.cn</a></p>

  10. <button id="show_hf">显示 href 值</button>

  11. </body>

  12. <script>

  13. $(function(){

  14. // 获得链接中 href 属性的值:

  15. $("#show_hf").click(function(){

  16. alert($("#w3s").attr("href"));

  17. });

  18. });

  19. </script>

  20.  
  21. </html>

5.3、设置内容

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="js/jquery-3.4.1.js"></script>

  7. </head>

  8. <body>

  9. <p id="test1">这是段落。</p>

  10. <p id="test2">这是另一个段落。</p>

  11. <p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p>

  12. <button id="btn1">设置文本</button>

  13. <button id="btn2">设置 HTML</button>

  14. <button id="btn3">设置值</button>

  15. </body>

  16. <script>

  17. $(function(){

  18. $("#btn1").click(function(){

  19. $("#test1").text("Hello World!");

  20. });

  21. $("#btn2").click(function(){

  22. $("#test2").html("<h1>Hello World!</h1>");

  23. });

  24. $("#btn3").click(function(){

  25. $("#test3").val("Dolly Duck");

  26. });

  27. });

  28. </script>

  29. </html>

c4a947af4dd648a5a6d383629bd52b5d.png

text()和html()的区别

text()和html()和js中的innerHtml和innerText是一样的,text()是获取或设置文本内容,而html()不仅可以获取或设置文本,也可以获取文本或设置样式,也就是说html()可以识别样式标签。

5.4、设置属性attr()和删除属性removeAttr()

方法说明
attr()获取/设置元素的属性
removeAttr()删除属性
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <p><a href="http://www.w3school.com.cn" id="w3s">W3School.com.cn</a></p>

  10. <button id="bt1">改变 href 值</button>

  11. <button id="bt2">改变href和title值</button>

  12. <button id="bt3">删除href属性</button>

  13. <p>请把鼠标指针移动到链接上,或者点击该链接,来查看已经改变的 href 值。</p>

  14. </body>

  15. <script>

  16. $(function(){

  17. $("#bt1").click(function(){

  18. $("#w3s").attr("href","http://www.w3school.com.cn/jquery");

  19. });

  20.  
  21. $("#bt2").click(function(){

  22. $("#w3s").attr({

  23. "href":"http://www.w3school.com.cn/jquery",

  24. "title":"W3School jQuery 教程"

  25. });

  26. });

  27. $("#bt3").click(function(){

  28. $("#w3s").removeAttr("href");

  29. });

  30. });

  31.  
  32. </script>

  33. </html>

5.5、设置属性prop()和删除属性removeProp() 

方法名说明
prop()获取/设置元素的属性
removeProp()删除属性

 

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <form action="#" method="get">

  10. 姓名 <input type="text" name="username" id="username" value="德玛西亚" /> <br />

  11.  
  12. 爱好

  13. <input id="hobby" type="checkbox" name="hobby" value="perm" checked="checked">烫头<br />

  14.  
  15. <input type="reset" value="清空按钮" />

  16. <input type="submit" value="提交按钮" /><br />

  17. </form>

  18. </body>

  19. <script>

  20. // 方式一: attr

  21. // 选中返回: checked

  22. // 末选中返回: undefined

  23. console.log($("#hobby").attr('checked'));

  24. // jq在1.6版本之后,弥补这个设计缺陷,如果该属性被选中返回true 末被选中返回false

  25. console.info($("#hobby").prop("checked"));//返回属性的值的状态

  26.  
  27. $("#hobby").prop('checked',false);//设置属性

  28. $("#username").prop("id","user_name");//也可以设置属性,注意不能自定义属性

  29. </script>

  30. </html>

prop()和attr()的区别

attr: 主要用于设置属性的值这一类的操作
prop: 主要用于判断属性是否存在或者操作布尔类型的操作
例如: checked selected

5.6、添加内容 

方法名说明
append()被选元素的结尾插入内容
prepend()被选元素的开头插入内容
after()能够通过参数接收无限数量的新元素添加至元素之前
before()能够通过参数接收无限数量的新元素添加至元素之后
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-3.4.1.js"></script>

  8. <body>

  9. <p>This is a paragraph.</p>

  10. <p>This is another paragraph.</p>

  11. <ol>

  12. <li>List item 1</li>

  13. <li>List item 2</li>

  14. <li>List item 3</li>

  15. </ol>

  16. <button id="btn1">追加尾部文本</button>

  17. <button id="btn2">追加尾部列表项</button>

  18. <button id="btn3">追加头部文本</button>

  19. <button id="btn4">追加头部列表项</button>

  20. </body>

  21. <script>

  22. $(function() {

  23. $("#btn1").click(function() {

  24. $("p").append("<b>Appended text</b>.");

  25. });

  26. $("#btn2").click(function() {

  27. $("ol").append("<li>Appended item</li>");

  28. });

  29. $("#btn3").click(function() {

  30. $("p").prepend("<b>Appended text</b>.");

  31. });

  32. $("#btn4").click(function() {

  33. $("ol").prepend("<li>Appended item</li>");

  34. });

  35. });

  36. </script>

  37. </html>

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-3.4.1.js"></script>

  8. <body>

  9. <img src="/i/eg_w3school.gif" alt="W3School Logo" />

  10. <br><br>

  11. <button id="btn1">在图片前面添加文本</button>

  12. <button id="btn2">在图片后面添加文本</button>

  13. <button id="btn3">在图片前面添加若干文本</button>

  14. <button id="btn4">在图片后面添加若干文本</button>

  15. </body>

  16. <script>

  17. $(function(){

  18. var txt1="<b>I </b>"; // 以 HTML 创建元素

  19. var txt2=$("<i></i>").text("love "); // 通过 jQuery 创建元素

  20. var txt3=document.createElement("big"); // 通过 DOM 创建元素

  21. txt3.innerHTML="jQuery!";

  22. $("#btn1").click(function(){

  23. $("img").before("<b>Before</b>");

  24. });

  25. $("#btn2").click(function(){

  26. $("img").after("<i>After</i>");

  27. });

  28. $("#btn3").click(function(){

  29. $("img").before(txt1,txt2,txt3);

  30. });

  31. $("#btn4").click(function(){

  32. $("img").after(txt1,txt2,txt3);

  33. });

  34. });

  35. </script>

  36. </html>

5.7、删除元素

方法名说明
remove()删除被选元素(及其子元素)
empty() 从被选元素中删除子元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-3.4.1.js"></script>

  8. <body>

  9. <div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">

  10. This is some text in the div.

  11. <p>This is a paragraph in the div.</p>

  12. <p>This is another paragraph in the div.</p>

  13. </div>

  14.  
  15. <br>

  16. <button>删除 div 元素</button>

  17. </body>

  18. <script>

  19. $(function(){

  20. $("button").click(function(){

  21. $("#div1").remove();

  22. });

  23. });

  24. </script>

  25. </html>

删除指定元素remove(指定元素)

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-3.4.1.js"></script>

  8. <body>

  9. <p>This is a paragraph in the div.</p>

  10. <p class="italic"><i>This is another paragraph in the div.</i></p>

  11. <p class="italic"><i>This is another paragraph in the div.</i></p>

  12. <button>删除 class="italic" 的所有 p 元素</button>

  13. </body>

  14. <script>

  15. $(function(){

  16. $("button").click(function(){

  17. $("p").remove(".italic");

  18. });

  19. });

  20. </script>

  21. </html>

删除子元素empty() 

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="js/jquery-3.4.1.js"></script>

  8. <body>

  9. <div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">

  10. This is some text in the div.

  11. <p>This is a paragraph in the div.</p>

  12. <p>This is another paragraph in the div.</p>

  13. </div>

  14.  
  15. <br>

  16. <button>清空 div 元素</button>

  17. </body>

  18. <script>

  19. $(function(){

  20. $("button").click(function(){

  21. $("#div1").empty();

  22. });

  23. });

  24. </script>

  25. </html>

5.8、获取并设置CSS类 

方法名说明
addClass() 向被选元素添加一个或多个类
removeClass()从被选元素删除一个或多个类
toggleClass()对被选元素进行添加/删除类的切换操作
css() 设置或返回样式属性
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <style type="text/css">

  7. .important {

  8. font-weight: bold;

  9. font-size: xx-large;

  10. }

  11.  
  12. .blue {

  13. color: blue;

  14. }

  15. </style>

  16. </head>

  17. <script src="../js/jquery-3.4.1.js"></script>

  18. <body>

  19.  
  20. <h1>标题 1</h1>

  21. <h2>标题 2</h2>

  22. <p>这是一个段落。</p>

  23. <p>这是另一个段落。</p>

  24. <div>这是非常重要的文本!</div>

  25. <br>

  26. <button id="bt1">向元素添加类</button>

  27. <button id="bt2">删除元素上的类</button>

  28. <button id="bt3">切换类</button>

  29.  
  30. </body>

  31. <script>

  32. $(function() {

  33. $("#bt1").click(function() {

  34. $("h1,h2").addClass("blue");

  35. $("p").addClass("blue");

  36. $("div").addClass("important blue");

  37. });

  38. $("#bt2").click(function(){

  39. $("h1,h2").removeClass("blue");

  40. $("p").removeClass("blue");

  41. $("div").removeClass("important blue");

  42. });

  43. $("#bt3").click(function(){

  44. $("h1,h2").toggleClass("blue");

  45. $("p").toggleClass("blue");

  46. $("div").toggleClass("important blue");

  47. });

  48. });

  49. </script>

  50. </html>

6、jQuery选择器

6.1、基本选择器

选择器名称语法
标签选择器语法: $("html标签名") 获得所有匹配标签名称的元素
id选择器语法: $("#id的属性值") 获得与指定id属性值匹配的元素
类选择器语法: $(".class的属性值") 获得与指定的class属性值匹配的元素
并集选择器语法: $("选择器1,选择器2....") 获取多个选择器选中的所有元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <span class="female">古力娜扎</span>

  10. <span class="female" id="dlrb">迪丽热巴</span>

  11. <span class="female hero">黑人</span>

  12.  
  13. <span class="male hero">钢铁侠</span>

  14. <span class="male hero">超人</span>

  15. </body>

  16. <script>

  17. //标签名选择器

  18. $("span").each(function(){

  19. console.log(this);

  20. });

  21. console.info("===============")

  22. //类选择器

  23. $(".female").each(function(){

  24. console.log(this);

  25. });

  26.  
  27. console.info("===============")

  28. //id选择器

  29. $("#dlrb").each(function(){

  30. console.info(this);

  31. });

  32. console.info("===============")

  33. //组合选择器

  34. $(".female,.hero").each(function(){

  35. console.info(this);

  36. });

  37. </script>

  38. </html>

6.2、层级选择器

选择器语法
后代选择器语法: $("A B ") 选择A元素内部的所有B元素
子选择器语法: $("A > B") 选择A元素内部的所有B子元素
兄弟选择器语法: $("A ~ B") 选择A元素同级的所有B兄弟元素
跟班选择器语法: $("A + B") 选择A元素旁边的B元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <div id="kangxi">

  10. <span>儿子:雍正</span>

  11. <p>

  12. <span>孙子:乾隆</span>

  13. </p>

  14. </div>

  15. <div>牛顿</div>

  16. </body>

  17. <script>

  18.  
  19. $(function(){

  20. //父子

  21. console.log($("#kangxi>span").text());

  22. //祖宗 后代

  23. console.log($("div span").text());

  24. //兄弟

  25. console.log($("span ~ p").text());

  26. //跟班

  27. console.log($("span+p").text());

  28.  
  29. });

  30. </script>

  31. </html>

6.3、基本过滤选择器

选择器语法
首元素选择器语法: :first 获得选择的元素中的第一个元素
尾元素选择器语法: :last 获得选择的元素中的最后一个元素
偶数选择器语法: :even 索引偶数,从 0 开始计数
奇数选择器语法: :odd 索引奇数,从 0 开始计数
等于索引选择器语法: :eq(index) 指定索引元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="../js/jquery-3.4.1.js"></script>

  7. </head>

  8. <body>

  9. <h1>表格信息</h1>

  10. <h2>这是一张商品表</h2>

  11. <table border="1" width="600">

  12. <tr>

  13. <th>商品编号</th>

  14. <th>商品名称</th>

  15. <th>售价</th>

  16. <th>数量</th>

  17. </tr>

  18. <tr>

  19. <td>001</td>

  20. <td>冰箱</td>

  21. <td>3000</td>

  22. <td>100</td>

  23. </tr>

  24. <tr>

  25. <td>002</td>

  26. <td>洗衣机</td>

  27. <td>2000</td>

  28. <td>50</td>

  29. </tr>

  30. <tr>

  31. <td>003</td>

  32. <td>热水器</td>

  33. <td>1500</td>

  34. <td>20</td>

  35. </tr>

  36. <tr>

  37. <td>004</td>

  38. <td>手机</td>

  39. <td>2188</td>

  40. <td>200</td>

  41. </tr>

  42. </table>

  43.  
  44. <div>slideDown(speed, [callback]) 概述

  45. 通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。

  46. 这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。在jQuery

  47. 1.3中,上下的padding和margin也会有动画,效果更流畅。 参数

  48. speedString,Number三种预定速度之一的字符串("slow", "normal", or

  49. "fast")或表示动画时长的毫秒数值(如:1000) callback (可选)FunctionFunction在动画完成时执行的函数</div>

  50. <div>fadeOut(speed, [callback]) 概述

  51. 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。

  52. 这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。 参数

  53. speedString,Number三种预定速度之一的字符串("slow", "normal", or

  54. "fast")或表示动画时长的毫秒数值(如:1000) callback (可选)Function在动画完成时执行的函数</div>

  55. <button>切换内容</button>

  56. </body>

  57. <script>

  58. $(function(){

  59. //设置表格第一行,显示为红色

  60. $("tr:first").css("background","red");

  61. // 2.设置表格除第一行以外 显示为蓝色

  62. $("tr:gt(0)").css("background","blue");

  63. // 3.设置表格偶数行背景色 金色 odd索引为奇数

  64. $("tr:odd").css("background","yellow");

  65. // 4.设置表格奇数行背景色 绿色

  66. $("tr:even").css("background","green");

  67. // 5.设置页面中所有标题 显示为灰色

  68. $(":header").css("background","grey");

  69. // 6.设置页面中正在执行动画效果div背景黄色

  70. $("button").click(function(){

  71. $("div").slideToggle("slow");

  72. $("div:animated").css("background","orange");

  73. });

  74. // 7. 设置<html>背景颜色为金色

  75. $(":root").css("background","pink");

  76. });

  77. </script>

  78. </html>

6.4、内容过滤选择器

方法名说明
:contains()包含文本内容
:empty选取没有子元素的
:has()包含某个元素
:parent选取所有子元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. <script src="../js/jquery-3.4.1.js"></script>

  7. </head>

  8. <body>

  9. <div>今天是个晴天</div>

  10. <div>明天要去人民公园a</div>

  11. <div>

  12. <span>JavaScript</span> 是网页开发中脚本技术

  13. </div>

  14. <div>Ajax 是异步的 JavaScript和 XML</div>

  15. <div>

  16. <p>jQuery</p>

  17. 是 JavaScript一个 轻量级框架

  18. </div>

  19. <div></div>

  20. </body>

  21. <script>

  22. $(function(){

  23. // 1.设置含有文本内容 ”公园” 的 div 的字体颜色为红色

  24. $("div:contains('公园')").css("color","red");

  25. // 2.设置没有子元素的div元素 文本内容 ”这是一个空DIV

  26. $("div:empty").text("这是一个空div");

  27. // 3.设置包含p元素 的 div 背景色为黄色

  28. $("div:has(p)").css("background","yellow");

  29. // 4.设置所有含有子元素的span字体为蓝色

  30. $("span:parent").css("color","blue");

  31. });

  32. </script>

  33. </html>

6.5、可见性过滤选择器

方法名说明
:hidden选取隐藏元素
:visible选取可见元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <form>

  10. <input type="hidden" />

  11. <input type="text" name="xxx" style="display: none;" />

  12. </form>

  13.  
  14. <table>

  15. <tr>

  16. <td>洗衣机</td>

  17. </tr>

  18. <tr>

  19. <td>热水器</td>

  20. </tr>

  21. <tr style="display: none">

  22. <td>电冰箱</td>

  23. </tr>

  24. </table>

  25. </body>

  26. <script>

  27. //1、选中from中不可见元素,添加class属性

  28. //匹配所有display:none 或者 input中的 type:hidden 元素

  29. //attr()相当于js中的setAttribute()

  30. $("from:hidden").attr("class", "hd_from");

  31. $("tr:hidden").attr("class", "hd_tr");

  32. $("input:hidden").addClass("hd_input"); //只能添加class属性

  33. //2.设置table所有 可见 tr 背景色 金色

  34. $("tr:visible").css("background", "yellow");

  35. //3.设置table所有 隐藏tr 字体颜色为红色,显示出来

  36. $("tr:hidden").css("color","red").show();

  37. </script>

  38. </html>

6.6、属性过滤选择器

选择器语法
属性名称选择器语法: $("A[属性名]") 包含指定属性的选择器
属性选择器语法: $("A[属性名='值']") 包含指定属性等于指定值的选择器
复合属性选择器语法: $("A[属性名='值'] []...") 包含多个属性条件的选择器
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <input type="text" name="username" value="用户名" /><br />

  10.  
  11. <input type="text" name="nickname" value="昵称" /><br />

  12.  
  13. <input type="password" name="password" value="密码" /><br />

  14.  
  15. <p class="p-yanqi">我是class="p-yanqi"</p>

  16. </body>

  17. <script>

  18. $(function(){

  19. // 1.获取type 的input标签

  20. $("input[type]").each(function(){

  21. console.info(this);

  22. });

  23. console.info("-----------------");

  24. // 2.获取type=“password”的input标签

  25. $("input[type='password']").each(function(){

  26. console.info(this);

  27. });

  28. console.info("-----------------");

  29. // 3.获取属性名以xx开始

  30. $("p[class^=p]").each(function(){

  31. console.info(this);

  32. });

  33. console.info("-----------------");

  34. // 4.获取属性名以xx结尾

  35. $("input[type$='rd']").each(function(){

  36. console.info(this);

  37. })

  38. console.info("-----------------");

  39. // 5.属性值中包含的属性

  40. $("input[type*='t']").each(function(){

  41. console.info(this);

  42. });

  43. console.info("-----------------");

  44. // 6.获取 type ='text' 并且 name='nickname' 的标签

  45. $("input[type='text'][name='nickname']").each(function(){

  46. console.info(this);

  47. });

  48. });

  49. </script>

  50. </html>

6.7、子元素过滤选择器

方法名说明
:nth-child(3n)选取以3为倍数的元素
:nth-child(even)选取偶数行元素
:nth-child(odd)选取奇数行元素
:only-child选取只有一个子元素的元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <table border="1" width="400" id="mytable">

  10. <tr>

  11. <td>1</td>

  12. <td>冰箱</td>

  13. </tr>

  14. <tr>

  15. <td>2</td>

  16. <td>洗衣机</td>

  17. </tr>

  18. <tr>

  19. <td>3</td>

  20. <td>热水器</td>

  21. </tr>

  22. <tr>

  23. <td>4</td>

  24. <td>电饭锅</td>

  25. </tr>

  26. <tr>

  27. <td>5</td>

  28. <td>电磁炉</td>

  29. </tr>

  30. <tr>

  31. <td>6</td>

  32. <td>豆浆机</td>

  33. </tr>

  34. <tr>

  35. <td>7</td>

  36. <td>微波炉</td>

  37. </tr>

  38. <tr>

  39. <td>8</td>

  40. <td>电视</td>

  41. </tr>

  42. <tr>

  43. <td>9</td>

  44. <td>空调</td>

  45. </tr>

  46. <tr>

  47. <td>10</td>

  48. <td>收音机</td>

  49. </tr>

  50. <tr>

  51. <td>11</td>

  52. <td>排油烟机</td>

  53. </tr>

  54. <tr>

  55. <td>12</td>

  56. <td>加湿器</td>

  57. </tr>

  58. <tr>

  59. <td>13 电暖气</td>

  60. </tr>

  61. </table>

  62. </body>

  63. <script>

  64. $(function(){

  65. // 1.在每个表格 下3的倍数行,字体颜色为红色 3 6 9 12

  66. $("tr:nth-child(3n)").css("color","red");

  67. // 2.每个表格 奇数行 背景色 黄色

  68. $("tr:nth-child(odd)").css("background","yellow");

  69. // 3.每个表格 偶数行 背景色 灰色

  70. $("tr:nth-child(even)").css("background","grey");

  71. // 4.每个tr 只有一个td的 字体为 蓝色

  72. $("td:only-child").css("color","blue");

  73. });

  74.  
  75. </script>

  76. </html>

6.8、表单过滤选择器

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <form action="#" method="POST">

  10. 用户名 <input type="text" name="username" /><span id="span"></span> <br />

  11. 密 码 <input type="password" name="password" /> <br />

  12. <input type="button" value="提交" />

  13. </form>

  14. </body>

  15. <script>

  16. $(function(){

  17. // 1.对所有text框和password框,添加离焦事件,校验输入内容不能为空

  18. $(":text,:password").blur(function(){

  19. if($(this).val()==""){

  20. $("#span").html("用户名或密码不能为空").css("color","red");

  21. }

  22. else{

  23. $("#span").html("");

  24. }

  25. });

  26. $("input[type='button']").click(function(){

  27. if($(":text").val()==""||$(":password").val()==""){

  28. $("#span").html("用户名或密码不能为空").css("color","red");

  29. }else{

  30. $("form").submit();

  31. }

  32. });

  33. });

  34. </script>

  35. </html>

6.9、表单对象属性过滤选择器

选择器语法
可用元素选择器语法: :enabled 获得可用元素
不可用元素选择器语法: :disabled 获得不可用元素
单选/复选框选中选择器语法: :checked 获得单选/复选框选中的元素
下拉框选中选择器语法: :selected 获得下拉框选中的元素
 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <form>

  10. <input type="text" value="不可用值1" disabled="disabled">

  11. <input type="text" value="可用值1">

  12. 性别

  13. <input type="radio" value="男" name="gender" checked="checked" />男

  14. <input type="radio" value="女" name="gender" />女 <br />

  15. 爱好

  16. <input type="checkbox" value="体育" name="hobby" /> 体育

  17. <input type="checkbox" value="读书" name="hobby" checked="checked" /> 读书

  18. <input type="checkbox" value="音乐" name="hobby" /> 音乐

  19. <input type="checkbox" value="绘画" name="hobby" /> 绘画 <br />

  20. 城市

  21. <select name="city" id="edu">

  22. <option value="">请选择</option>

  23. <option value="北京">北京</option>

  24. <option value="上海" selected="selected">上海</option>

  25. <option value="天津">天津</option>

  26. </select> <br />

  27. <input type="button" value="打印" />

  28. </form>

  29. </body>

  30. <script>

  31. $(function() {

  32. // 1. 获取可用的输入框

  33. $("input:enabled").each(function() {

  34. console.log(this);

  35. });

  36. console.info("-----------------");

  37. // 2. 获取不可用的输入框

  38. $("input:disabled").each(function() {

  39. console.info(this);

  40. });

  41. console.info("-----------------");

  42. // 3. 获取选中的复选框

  43. $("input[type='checkbox']:checked").each(function(){

  44. console.info(this);

  45. });

  46. console.info("-----------------");

  47. // 4. 获取选中的下列选择框

  48. $("#edu option:selected").each(function(){

  49. console.info(this);

  50. });

  51.  
  52. // 点击button 打印radio checkbox select 中选中项的值

  53. $("input[type='button']").click(function(){

  54. alert($("input[type='radio']:checked").val());

  55. $("input[type='checkbox']:checked").each(function(){

  56. alert($(this).val());

  57. });

  58. alert($("#edu option:selected").val());

  59. });

  60. });

  61. </script>

  62. </html>

6.10、对象遍历

 
  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title></title>

  6. </head>

  7. <script src="../js/jquery-3.4.1.js"></script>

  8. <body>

  9. <ul id="city">

  10. <li>北京</li>

  11. <li>上海</li>

  12. <li>天津</li>

  13. </ul>

  14. </body>

  15. <script>

  16. $(function() {

  17. $("li").each(function(index, element) {

  18. //遍历索引

  19. console.info(index);

  20. //遍历元素

  21. console.info(element);

  22. //遍历元素中的数据

  23. console.info($(element).html());

  24. console.info($(this).html());

  25. });

  26. });

  27. </script>

  28. </html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值