查询元素的属性

1. val

操作数组中DOM对象的value属性。

  • $(选择器).val():无参数形式调用,读取数组中第一个DOM对象的value属性值。
  • $(选择器).val(值):有参形式调用,对数组中所有DOM对象的value属性值进行统一赋值。

注意:在数组中有多个对象时,有参形式调用和无参形式调用的对象是不同的。

2. text

操作数组中所有DOM对象的文字显示内容属性。

  • $(选择器).text():无参形式调用,读取数组中所有DOM对象的文字显示内容,将得到的内容拼接成一个字符串返回。
  • $(选择器).text(值):有参形式调用,对数组中所有DOM对象的文字显示内容进行统一赋值。

3. attr

对val、text以外的属性进行操作。

  • $(选择器).attr(“属性名”):获取jQuery数组第一个对象的属性值。
  • $(选择器).attr(“属性名”,”值”):对数组中所有DOM对象的属性设置为新值。

举个例子

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script type="text/javascript" src="./js/jquery-3.6.0.min.js"></script>
  9. <style>
  10. div{
  11. width: 200px;
  12. height: 30px;
  13. line-height: 30px;
  14. background: rgb(153, 153, 221);
  15. }
  16. </style>
  17. <script>
  18. $(function(){
  19. $("#btn1").click(function(){
  20. var $obj = $(":text");
  21. //val()获取的是DOM数组第一个对象的value属性值
  22. alert($obj.val());
  23. })
  24. $("#btn2").click(function(){
  25. var $obj = $(":text");
  26. //设置所有的text的value为新值
  27. $obj.val("曹操");
  28. });
  29. $("#btn3").click(function(){
  30. var $obj = $("div");
  31. //获取div,text()无参数获取DOM数组中所有对象的文本值,连接成字符串
  32. alert($obj.text());
  33. });
  34. $("#btn4").click(function(){
  35. var $obj = $("div");
  36. //获取div的第一个文本值
  37. alert($($obj[0]).text());
  38. });
  39. $("#btn5").click(function(){
  40. var $obj = $("div");
  41. //设置div的新文本值
  42. $obj.text("我们都是新的div");
  43. });
  44. $("#btn6").click(function(){
  45. var $obj = $("#img1");
  46. //设置图片的src属性为其他值,如果仅获取值就不需要赋值了
  47. $obj.attr("src","../images/03.jpg");
  48. });
  49. });
  50. </script>
  51. </head>
  52. <body>
  53. <p>文本框val</p>
  54. <input type="text" value="刘备"/> <br/>
  55. <input type="text" value="关羽"/> <br/>
  56. <input type="text" value="张飞"/> <br/>
  57. <p>文本数据text</p>
  58. <div>我是第一个div\n</div>
  59. <div>我是第二个div</div>
  60. <div>我是第三个div</div>
  61. <p>图片</p>
  62. <img src="../images/04.jpg" id="img1" width="200px" height="200px"/> <br/>
  63. <p>功能按钮</p>
  64. <button id="btn1">获取第一个文本框的值</button> <br/>
  65. <button id="btn2">设置所有文本框为新值</button> <br/>
  66. <button id="btn3">获取div的所有文本</button> <br/>
  67. <button id="btn4">获取第一个div的文本</button> <br/>
  68. <button id="btn5">设置div新文本</button> <br/>
  69. <button id="btn6">设置img图片</button> <br/>
  70. </body>
  71. </html>

元素节点的操作

1. remove

  • $(选择器).remove():将数组中的所有DOM对象及其子对象一并删除。

2. empty

  • $(选择器).empty():将数组中所有DOM对象的子对象删除。
  • 注意remove和empty删除的对象是不同的。

3. append

  • 为数组中的所有DOM对象添加子对象。
  • 语法:$(选择器).append("<div>添加子对象</div>")

4. html

  • 设置或返回被选元素的内容,相当于DOM对象中的”innerHTML”。
  • $(选择器).html():无参形式调用,获取DOM数组第一个匹配元素的内容。
  • $(选择器).html(值):有参形式调用,用于设置DOM数组中所有元素的内容。
  • html()和text()的区别和innerHTML和innerText的区别是一样的。

5. each

  • $.each是对数组,json和DOM数组等的遍历,对每一个元素调用一次处理函数。
  • $就相当于java中的类名,.each就是类中的静态方法。
  • 语法:
    1. 1. `$.each(遍历对象,function(index,element) {处理程序} )`
    2. 1. `jQuery对象.each(function(index,element) {处理程序} )`
    3. 1. indexelement都是自定义的形参,名称自定义。
    4. 1. index为数组的下标,element为数组的对象。

举个例子

1—4方法的使用(each使用方法在下方)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script type="text/javascript" src="./js/jquery-3.6.0.min.js"></script>
  9. <script>
  10. $(function(){
  11. $("#btn1").click(function(){
  12. //删除select对象本身和其子对象
  13. $("select").remove();
  14. });
  15. $("#btn2").click(function(){
  16. //只删除select对象的子对象
  17. $("select").empty();
  18. });
  19. $("#btn3").click(function(){
  20. //给div标签添加子元素
  21. $("#father").append("<select><option>示例</option></select>");
  22. });
  23. $("#btn4").click(function(){
  24. //获取数组第一个DOM对象的文本值,下面是text和html的区别
  25. //alert($($("span")[0]).text()); 我是MySQL数据库
  26. alert($("span").html()); //我是MySQL<b>数据库</b>
  27. });
  28. $("#btn5").click(function(){
  29. $("span").html("这是新的span标签");
  30. });
  31. });
  32. </script>
  33. </head>
  34. <body>
  35. <select>
  36. <option value="脑斧">脑斧</option>
  37. <option value="狮子">狮子</option>
  38. <option value="豹子">豹子</option>
  39. </select>
  40. <br/>
  41. <select>
  42. <option value="非洲">非洲</option>
  43. <option value="美洲">美洲</option>
  44. <option value="亚洲">亚洲</option>
  45. </select>
  46. <br/>
  47. <div id="father" style="background:red;">我是父div</div>
  48. <br/>
  49. <span>我是MySQL<b>数据库</b></span>
  50. <span>我是jdbc</span>
  51. <br/>
  52. <br/>
  53. <button id="btn1">使用remove删除所有对象</button>
  54. <button id="btn2">使用empty删除子DOM对象</button>
  55. <button id="btn3">增加一个子DOM对象</button>
  56. <button id="btn4">获取文本中带有html标签的内容</button>
  57. <button id="btn5">设置span的值</button>
  58. </body>
  59. </html>

each语法举例

  1. ...
  2. <script>
  3. $(function(){
  4. //语法1
  5. //循环遍历数组
  6. $("#btn6").click(function(){
  7. var arr = ["a","b","c"];
  8. /* js中循环数组
  9. for (var index = 0; index<arr.length; index++){
  10. console.log("数组索引:" + index + " -- 数组元素:" + arr[index]);
  11. }
  12. */
  13. //$.each循环数组
  14. $.each(arr,function(index,element){
  15. console.log("数组索引:" + index + " -- 数组元素:" + element);
  16. });
  17. });
  18. //循环遍历JSON
  19. $("#btn7").click(function(){
  20. var json_obj = '{"name":"张三","age":"18"}';
  21. json_obj = JSON.parse(json_obj);
  22. //这里的参数名称可以自定义
  23. $.each(json_obj,function(key,value){
  24. console.log("key=:" + key + " -- velue=" + value);
  25. });
  26. });
  27. //循环遍历DOM数组
  28. $("#btn8").click(function(){
  29. var $dom_obj = $(":text");
  30. $.each($dom_obj,function(index,element){
  31. console.log("DOM数组索引:" + index + " -- 文本框value值:" + $(element).val());
  32. });
  33. });
  34. //语法2
  35. //这个和btn8的效果是相同的,选择使用即可。
  36. $("#btn9").click(function(){
  37. var $dom_obj = $(":text");
  38. $dom_obj.each(function(index,element){
  39. console.log("DOM数组索引:" + index + " -- 文本框value值:" + $(element).val());
  40. });
  41. });
  42. });
  43. </script>
  44. ...
  45. <body>
  46. <input type="text" value="t1"/>
  47. <input type="text" value="t2"/>
  48. <input type="text" value="t3"/>
  49. <button id="btn6">循环遍历数组</button>
  50. <button id="btn7">循环遍历JSON</button>
  51. <button id="btn8">循环遍历DOM数组</button>
  52. <button id="btn9">语法2:循环遍历DOM数组</button>
  53. </body>