1、回顾
$(document).ready(function(){
    
})
$(function(){
    
})

ID选择器、类选择器、元素选择器
层次选择器:空格(上文下:tr td{})
属性过滤器:[属性=值]  input[type=button]
表单:
    :checked  被选中的单选框或复选框
    :selected 被选中的下拉框
表单选择器:
    :input
    :button
2、本章目标
    掌握dom操作的分类
    掌握jquery的dom操作
3、dom操作分类
    dom core:对节点进行操作,添加、修改、删除、查找
    html core:对页面元素的属性进行操作,比如:document.form.action = 'xxxServlet'
    css core:对页面样式进行操作,比如:document.getElementById("txt").style.display = 'none'

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(document).ready(function(){
  9. $("#btn1").click(function(){
  10. //获取第一个li标签
  11. var v=$("#aihao li:first").text();
  12. alert(v);
  13.  
  14. })
  15.  
  16. $("#btn2").click(function(){
  17. //获取ul的id属性
  18. var s=$("ul").attr("id")
  19. alert(s)
  20. })
  21.  
  22. $("#btn3").click(function(){
  23. //li节点字符串
  24. var v=$("<li>足球</li>")
  25. //给ul添加一个li对象
  26. $("ul").append(v);
  27.  
  28. })
  29.  
  30. $("#btn4").click(function(){
  31. //li节点字符串
  32. var v=$("<li class='paiqiu'>排球</li>")
  33. //追加到ul中
  34. v.appendTo("ul")
  35. })
  36. $("#btn5").click(function(){
  37. //li节点字符串
  38. var v=$("<li>游泳</li>")
  39. //把li对象添加到li对象最前面:下面两种用法均可
  40. //$("ul").prepend(v)
  41. v.prependTo($("ul"))
  42. })
  43.  
  44. $("#btn6").click(function(){
  45. var v=$("<li>运动</li>")
  46. //把运动插入到足球前面
  47. v.insertBefore($("ul li:eq(1)"))
  48. })
  49.  
  50. $("#btn7").click(function(){
  51. var v=$("<li>跑步</li>")
  52. //把跑步插入到足球后面
  53. $("ul li:eq(1)").after(v)
  54. //把跑步插入到乒乓球之前
  55. //$("ul li:eq(2)").before(v)
  56. })
  57.  
  58. $("#btn8").click(function(){
  59. //选取ul标签里最后一个节点然后删除
  60. $("ul li:last").remove()
  61.  
  62. })
  63.  
  64. $("#btn9").click(function(){
  65. //清空节点
  66. $("ul").empty()
  67.  
  68. })
  69. })
  70. </script>
  71. </head>
  72. <body>
  73. <ul id="aihao">
  74. <li>篮球</li>
  75. <li>足球</li>
  76. <li>乒乓球</li>
  77.  
  78. </ul>
  79. <button type="button" id="btn1">获取第一个li标签</button>
  80. <button type="button" id="btn2">获取ul的id属性</button>
  81. <button type="button" id="btn3">给ul中添加一个li标签</button>
  82. <button type="button" id="btn4">给ul中追加一个li标签 带属性</button>
  83. <button type="button" id="btn5">给ul中第一个li前面插一个li标签</button>
  84. <button type="button" id="btn6">把运动插入到足球前面</button>
  85. <button type="button" id="btn7">把跑步插入到足球后面</button>
  86. <button type="button" id="btn8">删除乒乓球节点</button>
  87. <button type="button" id="btn9">删除全部li节点</button>
  88. </body>
  89. </html>

dom的操作

4、jquery查找节点元素
    就是通过前面学习的各种选择器,选取出需要操作的节点对象,然后调用相应的方法即可
5、jquery创建节点元素(重点!!!)
    append(内容)、appendTo(节点对象)    --追加到后面
    prepend(内容)、prependTo(节点对象) --追加到前面

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style type="text/css">
  7. div{
  8. width: 200px;
  9. height: 150px;
  10. border: 1px red solid;
  11. float: left;
  12. margin-left: 10px;
  13. }
  14. </style>
  15. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  16. <script type="text/javascript">
  17. $(document).ready(function(){
  18. $("#div1 ol li").click(function(){
  19. ///把当前项追加到右边的ol窗口,当前是一个移动操作
  20. $(this).appendTo($("#div2 ol"))
  21. })
  22.  
  23. $("#div2 ol li").click(function(){
  24. //把当前项先复制 然后加到左边div 的ol中
  25. $(this).clone().appendTo("#div1 ol")
  26. })
  27. })
  28. </script>
  29. </head>
  30. <body>
  31. <div id="div1">
  32. <ol>
  33. <li>java</li>
  34. <li>js</li>
  35. <li>jquery</li>
  36.  
  37. </ol>
  38. </div>
  39. <div id="div2">
  40. <ol>
  41. <li>张三</li>
  42. <li>李四</li>
  43. <li>王五</li>
  44.  
  45. </ol>
  46. </div>
  47. </body>
  48. </html>

jquery创建节点元素

6、jquery插入节点元素
    after(内容)、insertAfter(节点对象) --把内容添加到后面
    before(内容)、insertBefore(节点对象) -- 把内容添加到前面

7、jquery删除节点元素(重点!!!)
    remove()  移除、删除
    empty()   清空
8、jquery复制节点
        节点对象.clone()
9、jquery替换节点
    旧节点对象.replaceWith(html)
    新节点对象.replaceAll(旧节点对象)

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(document).ready(function(){
  9. $("input[type=button]").click(function(){
  10. //$(this).replaceWith("<p>试试就试试</p>")
  11.  
  12. $("<p>试试就试试</p>").replaceAll($(this))
  13. })
  14.  
  15. })
  16.  
  17. </script>
  18. </head>
  19. <body>
  20. <input type="button" value="点我试试"/>
  21. </body>
  22. </html>

jquery替换节点

10、jquery包裹节点
    节点对象.wrap(html)   单个包裹
    节点对象.wrapAll(html)  全包包裹
    节点对象.wrapInner(html)  内部包裹

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $("#btn1").click(function(){
  10. $("span").wrap("<div style='border: 1px solid red'></div>");
  11.  
  12. })
  13. $("#btn2").click(function(){
  14. $("span").wrapAll("<div style='border: 1px solid red'></div>");
  15.  
  16. })
  17. $("#btn3").click(function(){
  18. $("p").wrapInner("<div style='border: 1px solid red'></div>");
  19.  
  20. })
  21.  
  22. })
  23. </script>
  24. </head>
  25. <body>
  26. <span>aaa</span>
  27. <br />
  28. <span>abbb</span>
  29. <br />
  30. <div style="border: 1px solid gray;">
  31. <p>aabcdef</p>
  32. </div>
  33. <button type="button" id="btn1">单个包裹</button>
  34. <button type="button" id="btn2">全部包裹</button>
  35. <button type="button" id="btn3">内部包裹</button>
  36. </body>
  37. </html>

jquery包裹节点

11、jquery操作节点属性(重点!!!)
    节点对象.attr("属性名")    获取相应属性的值
    节点对象.attr("属性名","值")  或  节点对象.attr({"属性1":"值1","属性2":"值2".......})  给属性赋值
    节点对象.removeAttr("属性名")  移除某属性

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $("#btn1").click(function(){
  10. var v=$("input").attr("name")
  11. alert(v)
  12.  
  13. })
  14. $("#btn2").click(function(){
  15. $("input").attr("value",123)
  16.  
  17. })
  18. $("#btn3").click(function(){
  19. $("input").removeAttr("id")
  20.  
  21. })
  22. })
  23. </script>
  24. </head>
  25. <body>
  26. <input type="text" name="uname" id="uid" value="默认值" />
  27. <br />
  28. <button type="button" id="btn1"> 获取input标签name 属性的值</button>
  29. <button type="button" id="btn2"> 设置input标签value 属性的值</button>
  30. <button type="button" id="btn3"> 删除input标签id 属性的值</button>
  31. </body>
  32. </html>

jquery操作节点属性(重点!!!)

12、jquery操作样式
    节点对象.addClass("样式名")   添加样式
    节点对象.removeClass("样式名")  移除样式
    节点对象.toggleClass("样式名")  切换样式
    节点对象.hasClass("样式名")     判断是否有某样式

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style type="text/css">
  7. .one{
  8. border: 1px red solid;
  9. }
  10. .two{
  11. width: 40px;
  12. height: 60px;
  13. border: 3px greenyellow dotted;
  14. }
  15. .three{
  16. border: 6px darkgoldenrod solid;
  17. }
  18. </style>
  19. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  20. <script type="text/javascript">
  21. $(function(){
  22. $("#btn1").click(function(){
  23. $("div").addClass("two")
  24.  
  25. })
  26. $("#btn2").click(function(){
  27. $("div").removeClass("one")
  28.  
  29. })
  30. //给div切换样式 是来回切换
  31. $("#btn3").click(function(){
  32. $("div").toggleClass("three")
  33.  
  34. })
  35. //判断div是否有样式 下面两种均可
  36. $("#btn4").click(function(){
  37. //var v=$("div").hasClass("three")
  38. var v=$("div").is("three")
  39. alert(v)
  40. })
  41. })
  42. </script>
  43. </head>
  44. <body>
  45. <div class="one">
  46. 测试内容!!!!!
  47. </div>
  48. <br />
  49. <button type="button" id="btn1"> 给div添加样式</button>
  50. <button type="button" id="btn2"> 给div移除样式</button>
  51. <button type="button" id="btn3"> 给div切换样式</button>
  52. <button type="button" id="btn4"> 判断div是否有样式</button>
  53. </body>
  54. </html>

jquery操作样式

13、jquery操作html、text、val(重点!!!)    
    节点对象.html()     类似于innerHTML ,获取节点的html内容
    节点对象.html(html) 设置节点的html内容
    节点对象.text()     类似于innerText,获取节点的纯文本
    节点对象.text(html) 设置节点的内容
    节点对象.val()      类似value属性,获取节点的值
    节点对象.val(内容)  设置节点的值

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $("#btn1").click(function(){
  10. var v=$("div").html()
  11. alert(v)
  12. })
  13.  
  14. $("#btn2").click(function(){
  15. var v=$("div").text()
  16. alert(v)
  17.  
  18. })
  19.  
  20. $("#btn3").click(function(){
  21. $("div").html("<p>新内容</p>")
  22.  
  23. })
  24.  
  25. $("#btn4").click(function(){
  26. $("div").text("<p>新内容</p>")
  27. })
  28.  
  29. $("#btn5").click(function(){
  30. var v=$("input").val()
  31. alert(v)
  32. })
  33.  
  34. $("#btn6").click(function(){
  35. $("input").val("asdasdasd")
  36. })
  37. })
  38. </script>
  39. </head>
  40. <body>
  41. <div class="one">
  42. <span>
  43. 测试内容!!!!!
  44. </span>
  45.  
  46. </div>
  47. <br />
  48. <button type="button" id="btn1">获取div的html内容</button>
  49. <button type="button" id="btn2">获取div的text内容</button>
  50. <button type="button" id="btn3">设置div的html内容</button>
  51. <button type="button" id="btn4">设置div的text内容</button>
  52. <br />
  53. <input type="text"/>
  54. <button type="button" id="btn5">获取input的value</button>
  55. <button type="button" id="btn6">设置input的value</button>
  56. </body>
  57. </html>

jquery操作html,text,val()

14、jquery遍历节点
    节点对象.children()   获取节点的所有子节点
    节点对象.next()       获取节点的下一个同级节点
    节点对象.prev()       获取节点的上一个同级节点
    节点对象.siblings()   获取节点的所有同级节点
    节点对象.parent()     获取节点的父节点

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $("#btn1").click(function(){
  10. var cs=$("div").children();
  11. //遍历
  12. for(var i=0;i<cs.length;i++){
  13. var c=cs[i].innerText
  14. //alert(c)
  15. }
  16.  
  17. })
  18.  
  19. $("#btn2").click(function(){
  20. var v=$("p").prev().text()
  21. alert(v)
  22.  
  23. })
  24.  
  25. $("#btn3").click(function(){
  26. var v=$("p").next().text()
  27. alert(v)
  28.  
  29. })
  30.  
  31. $("#btn4").click(function(){
  32. var v=$("p").siblings()
  33. alert(v.length)
  34. })
  35.  
  36. $("#btn5").click(function(){
  37. var v=$("p").parent().html()
  38. alert(v)
  39. })
  40. })
  41. </script>
  42. </head>
  43. <body>
  44. <div class="one">
  45. <span>
  46. 测试内容1
  47. </span>
  48. <p>测试内容2</p>
  49. <b>测试内容3</b>
  50. </div>
  51. <br />
  52. <button type="button" id="btn1">获取div的所有子节点</button>
  53. <button type="button" id="btn2">获取p的上一个同级元素</button>
  54. <button type="button" id="btn3">获取p的下一个同级元素</button>
  55. <button type="button" id="btn4">获取p的所有同级元素</button>
  56. <button type="button" id="btn5">获取p的父节点</button>
  57.  
  58. </body>
  59. </html>

jquery遍历节点

15、jquer操作样式(重点!!!)
    节点.css("样式名","值")    给节点设置样式
    节点.css({"样式1":"值1","样式2":"值2".....})
    节点.css("opacity","0.5")  设置透明度
    节点.height()    获取节点的高度
    节点.height(值)  设置节点的高度
    节点.width()    获取节点的宽度
    节点.width(值)   设置节点的宽度

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $("#btn1").click(function(){
  10. $("div").width("100px")
  11. $("div").height("200px")
  12. $("div").css("border","1px red solid")
  13. $("div").css("opacity","0.4")
  14. })
  15. })
  16. </script>
  17. </head>
  18. <body>
  19. <div class="one">
  20. <span>
  21. 测试内容!!!!!
  22. </span>
  23.  
  24. </div>
  25. <br />
  26. <button type="button" id="btn1">设置div的 高度,宽度 ,透明度,边框</button>
  27. </body>
  28. </html>

jquery操作样式

16、jquery操作定位(了解)
    节点.offset()     相对当前页面
    节点.position()   绝对父节点
    返回值均有两个属性:left和top
17、jquery滚动操作(回到顶端)
    节点.scrollTop()     获取滚动到页面顶部的距离
    节点.scrollLeft()    获取滚动到页面的左边的距离
    节点.scrollTop(值)
    节点.scrollLeft(值)

作业

实现列表框左右选项选择移动

分析

使用列表框  其中有多选的属性multiple="multiple"

其次考察.clone().appendTo  和remove

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. </head>
  8. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  9. <script type="text/javascript">
  10. $(function(){
  11. //选中添加到右边
  12. $("#btn1").click(function(){
  13. $("#Select1 option:selected").clone().appendTo("#Select2");
  14. $("#Select1 option:selected").remove();
  15. })
  16. //全部添加到右边
  17. $("#btn2").click(function(){
  18. $("#Select1 option").clone().appendTo("#Select2");
  19. $("#Select1 option").remove();
  20. })
  21. //选中添加到左边
  22. $("#btn3").click(function(){
  23. $("#Select2 option:selected").clone().appendTo("#Select1");
  24. $("#Select2 option:selected").remove();
  25. })
  26. //全部删除到左边
  27. $("#btn4").click(function(){
  28. $("#Select2 option").clone().appendTo("#Select1");
  29. $("#Select2 option").remove();
  30. })
  31. })
  32.  
  33. </script>
  34. <body>
  35. <table style="width: 600px;">
  36. <tr>
  37. <td style="width: 250px;">
  38. <select id="Select1" size="4" style="height: 200px; width: 80px;" multiple="multiple">
  39. <option>选项1</option>
  40. <option>选项2</option>
  41. <option>选项3</option>
  42. <option>选项4</option>
  43. <option>选项5</option>
  44. <option>选项6</option>
  45. </select>
  46. </td>
  47. <td style="width: 100px;">
  48. <input id="btn1" type="button" value="选中添加到右边" /><br />
  49. <input id="btn2" type="button" value="全部添加到右边" /><br />
  50. <input id="btn3" type="button" value="选中删除到左边" /><br />
  51. <input id="btn4" type="button" value="全部删除到左边" />
  52. </td>
  53. <td style="width: 250px;">
  54. <select id="Select2" size="4" style="height: 200px; width: 80px;" multiple="multiple">
  55. <option>选项8</option>
  56. </select>
  57. </td>
  58. </tr>
  59. </table>
  60. </body>
  61.  
  62. </html>

实现列表框的左右选项选择移动

效果

aaarticlea/png;base64,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" alt="" />

jquery 第三章的更多相关文章

  1. jQuery第三章

    一.jQuery中的DOM操作 一般来说,DOM操作分为3个方面,即DOM Core核心.HTML-DOM和CSS-DOM 1.DOM Core JavaScript中的getElementById( ...

  2. jQuery 第三章 CSS操作

    .css() .attr() .prop() .css() 参数填法:如下所示 ↓  可填px 可不填,注意点:background-color  这类属性,需要填成 小驼峰式  background ...

  3. 第三章 jQuery中的事件与动画

    第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...

  4. jQuery系列 第三章 jQuery框架操作CSS

    第三章 jQuery框架操作CSS 3.1 jQuery框架的CSS方法 jQuery框架提供了css方法,我们通过调用该方法传递对应的参数,可以方便的来批量设置标签的CSS样式. 使用JavaScr ...

  5. 好记心不如烂笔头之JQuery学习,第三章

    第三章中主要讲了几个对DOM进行操作的方法. 归纳如下: 属性的获取和设置: //属性的获取 $("li").attr("title"); //属性的设置 $( ...

  6. jQuery复习:第二章&第三章

    第二章 一.选择器 1.层次选择器 $(“ancestor descendant”)选取ancestor元素里的所有后代元素 $(“parent > child”)选取parent元素下的chi ...

  7. 第三章:初识Jquery

    一.Jquery的优势 体积小,压缩后只有100KB左右 强大的选择器 出色的DOM封装 可靠的事件处理机制 出色的浏览器兼容性 使用隐式迭代简化编程 丰富的插件支持 二.Jquery语法 三.DOM ...

  8. 第三章 Js变量的作用域和匿名函数

    3.1 先看下面的事例: ①var temp=0; ②temp=0; 当js解析器检测到①这种情况的时候,解析器会为这个变量开辟一个内存空间,如果前面已经存在这个变量,就会把这个变量覆盖掉. 当解析器 ...

  9. 第三章SignalR在线聊天例子

    第三章SignalR在线聊天例子 本教程展示了如何使用SignalR2.0构建一个基于浏览器的聊天室程序.你将把SignalR库添加到一个空的Asp.Net Web应用程序中,创建用于发送消息到客户端 ...

随机推荐

  1. 关于PHP自动捕捉处理错误和异常的尝试

    之所以想着做错误和异常的自动处理是因为: 用的公司自己的框架写API,没有异常和错误相关功能, 而每次操作都进行try...catch,有点繁琐不说,感觉还很鸡肋,即使我catch到了,还是得写代码进 ...

  2. MySQL中的float和decimal类型有什么区别

    decimal 类型可以精确地表示非常大或非常精确的小数.大至 1028(正或负)以及有效位数多达 28 位的数字可以作为 decimal类型存储而不失其精确性.该类型对于必须避免舍入错误的应用程序( ...

  3. Vue CLI 3使用:浏览器兼容性

    package.json 文件里的 browserslist 字段 (或一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围.这个值会被 @babel/preset-env ...

  4. java从Swagger Api接口获取数据工具类

  5. Axis2创建WebService服务端接口+SoupUI以及Client端demo测试调用

    第一步:引入axis2相关jar包,如果是pom项目,直接在pom文件中引入依赖就好 <dependency> <groupId>org.apache.axis2</gr ...

  6. [模板] dp套dp && bzoj5336: [TJOI2018]party

    Description Problem 5336. -- [TJOI2018]party Solution 神奇的dp套dp... 考虑lcs的转移方程: \[ lcs[i][j]=\begin{ca ...

  7. [LOJ3083][GXOI/GZOI2019]与或和——单调栈

    题目链接: [GXOI/GZOI2019]与或和 既然求的是二进制运算的和,那么我们按位考虑,这样就将矩阵变成了一个$01$矩阵. 对于或运算,就是求有多少个子矩形中有$1$. 直接求不好办,考虑有多 ...

  8. Swift 之Carthage

    1. 安装 $ brew update               //更新brew $ brew install carthage   //下载carthage $ carthage version ...

  9. opencv-python下简单KNN分类识别

    KNN是数据挖掘中一种简单算法常用来分类,此次用来聚类实现对4种花的简单识别. 环境:python2.7+opencv3.0+windows10 原理:在使用KNN函数提取出4种花特征点以后,对需要辨 ...

  10. 面试:atoi() 与 itoa()函数的内部实现(转)

    原 面试:atoi() 与 itoa()函数的内部实现 2013年04月19日 12:05:56 王世晖 阅读数:918   #include <stdio.h> #include < ...