简介

  jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
  jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
简单来说jQuery就是一个JavaScript框架,简化js代码的编写,做到write less do more。
 

jQuery核心函数

页面加载函数 Jquery(callback)

作用: 页面加载完成后执行

意义:  弥补传统js window.onload的缺点: 如果一个页面出现两个, 后面的会把前面的onload函数覆盖掉

  1. <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
  2. <script type="text/javascript">
  3. // js 的页面加载函数
  4. // 缺点: 如果一个页面出现两个onload函数, 后面会把前面的覆盖掉, 因为js不存在 函数重载
  5. // window.onload = function(){
  6. // alert("js 的页面加载函数 11111111111 ...");
  7. // }
  8.  
  9. // window.onload = function(){
  10. // alert("js 的页面加载函数 2222222 ...");
  11. // }
  12.  
  13. // 页面加载完成后执行 下面两个都会执行
  14. jQuery(function(){
  15. alert("jQuery 的页面加载函数 11111111111 ...");
  16. });
  17.  
  18. jQuery(function(){
  19. alert("jQuery 的页面加载函数 22222222222 ...");
  20. });
  21. </script>

简写

  1. $(function() {
  2. //页面加载完成后执行
  3. })

将js对象转成jQuery对象

query对象是jquery所独有的,只有jquery对象才可以使用jquery的属性和方法。

  dom对象无法调用jquery对象的属性和方法;

  jquery对象也无法调用dom对象的属性和方法。

jquery对象和dom对象的相互转化:

  注意:需要把jquery对象理解成是一个数组,并且第一个元素就是dom对象。

  jquery对象 ----》  dom对象: jquery对象[0]  或者 jquery对象.get(0);

  dom对象  ----》 jquery对象: $(dom对象)

开发规范约定:

  var  变量名 =  dom对象;

  var  $变量名 =  jquery对象;

  1. //将jQuery看做是一个数组, 第一个元素就是js对象
  2. jQuery("#myDiv")[0].onclick = function() {
  3.  
  4. };
  5. //只有jQuery对象才能调用jQuery的属性和方法
  6. jQuery(document.getElementById("myDiv")).click(function() {
  7.  
  8. });

将html文本转换成jQuery标签对象

  1. var $span = jQuery("<span>山东张学友</span>");
  2. $span.click(function() {
  3.  
  4. })

jQuery选择器

注意:jQuery中的选择器筛选出来的结果都是符合筛选条件的一个数组(即使只有一个也会放在数组中),

使用id筛选只会筛选出第一个,并且取值赋值都是操作这一个,使用name或者其他筛选会有多个,但是都是放在数组中的;

所以在确定只有一个对象并且需要得到该对象的一些属性的时候 ,需要找到该数组的第一个,再使用其属性,比如:

  1. //获取下拉框option的个数
  2. $("#sel01")[0].length;
  3.  
  4. <select id="sel01">
  5. <option value="0">0</option>
  6. <option value="1">1</option>
  7. <option value="2">2</option>
  8. <option value="3">3</option>
  9. </select>

基本选择器

  1. #id 根据id属性值获取标签对象(唯一)
  2. element 根据标签名获取标签对象(多个)
  3. .class 根据class属性值值获取标签对象(多个)
  4. * 获取所有的标签对象
  5. selector1,selector2,selectorN 既要 第一个, 也要 第二个 还要 N
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. //根据id属性值获取标签对象(唯一)
  11. var _fooHtml = $("#foo").html();
  12.  
  13. //根据标签名获取标签对象(多个)
  14. $("div").each(function() {
  15. $(this).html("山东张学友" + $(this).html()); // 设置
  16. });
  17.  
  18. //根据class属性值值获取标签对象(多个)
  19. $(".zy").each(function() {
  20. $(this).html("zy" + $(this).html()); // 设置
  21. });
  22. });
  23. </script>
  24. </head>
  25.  
  26. <body>
  27. <div>DIVAAAA</div>
  28. <div class="zy">DIVBBBB</div>
  29. <div>DIVCCCC</div>
  30. <div>DIVDDDD</div>
  31. <div class="zy">DIVEEEE</div>
  32. <div id="foo">DIVFFFF</div>
  33. <p>PAAAA</p>
  34. <p class="zy">PBBBB</p>
  35. <p>PCCCC</p>
  36. </body>
  37.  
  38. </html>

层级选择器

  1. ancestor descendant : 选择当前标签的后代标签(空格)
  2. parent > child : 选择当前标签的子标签(大于号 >)
  3. prev + next : 选择当前标签的下一个弟弟标签(加号 +)
  4. prev ~ siblings : 选择当前标签的兄弟标签(符号 ~)
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 1.将class属性值为alex的元素下所有a元素字体变为红色
  11. $(".alex a").css("color", "red");
  12. // 2.将class属性值为alex的元素下直接a元素字体变为蓝色
  13. $(".alex>a").css("color", "blue");
  14. // 3.将div元素后所有兄弟a元素,字体变为黄色,大小变为30px
  15. $("div~a").css({
  16. "color": "yellow",
  17. "font-size": "30px"
  18. });
  19. });
  20. </script>
  21. </head>
  22.  
  23. <body>
  24. <div class="alex">
  25. <a>div link</a>
  26. <p>
  27. info
  28. <a>p link</a>
  29. </p>
  30. </div>
  31. <a>link</a>
  32. <p class="alex">
  33. <a>p link</a>
  34. </p>
  35. <a>link</a>
  36. </body>
  37.  
  38. </html>

属性过滤选择器

  1. [attribute]         选择有某个属性的标签, 如: input[name] 选择有name属性的标签
  2. [attribute=value] 选择属性等于某个值的标签 如: input[name='username']
  3. [attribute!=value]         选择属性不等于某个值的标签 如: input[name!='username']
  4. [attribute^=value]          选择属性以某个值开始的标签 如: input[name^='use']
  5. [attribute$=value]         选择属性以某个值结束的标签 如: input[name$='name']
  6. [attribute*=value]         选择属性含有某个值的标签 如: input[name*='user']
  7. [attrSel1][attrSel2][attrSelN] 选择既有属性id,也有属性class, input[id][class]
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  7. <script>
  8. $(function() {
  9. // 1.设置所有含有id属性的div,字体颜色红色
  10. $("div[id]").css("color", "red");
  11. // 2.设置所有class属性值 含有alex元素背景色为黄色
  12. $("[class*='alex']").css("background", "yellow");
  13. // 3.对所有既有id又有class属性div元素,添加一个点击事件,打印div标签中内容
  14. $("div[id][class]").click(function() {
  15. // alert(this.innerHTML); // js写法
  16. alert($(this).html()); // jquery写法
  17. });
  18. // 4 获取属性name="hobby"的input标签, 打印value属性值
  19. $("input[name='hobby']").each(function() {
  20. // alert(this.value); // js写法
  21. alert($(this).val()); // jquery写法
  22. });
  23. });
  24. </script>
  25. </head>
  26.  
  27. <body>
  28. <div>AAAA</div>
  29. <div id="mydiv" class="itcast1">BBBB</div>
  30. <div class="alex3">CCCC</div>
  31. <div id="mydiv2">DDDD</div>
  32. <div class="divclass">EEEE</div>
  33. <div id="xxx" class="alex3">FFFF</div>
  34. <p class="p-alex">PPPPPP</p>
  35.  
  36. <input type="checkbox" name="hobby" value="高尔夫" /> 高尔夫
  37. <input type="checkbox" name="hobby" value="蹦极" /> 蹦极
  38. <input type="checkbox" name="hobby" value="足球" /> 足球
  39. </body>
  40. </html>

基本过滤选择器

  1. :first 选择第一个
  2. :last 选择最后一个
  3. :not(selector) 不选择指定的那个标签
  4. :even 偶数
  5. :odd 奇数
  6. :eq(index) 选择指定下标的那个标签
  7. :gt(index) 大于指定下标的标签
  8. :lt(index) 小于指定下标的标签
  9. :header 选择标签标签
  10. :animated 选择执行动画效果的标签
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 1.设置表格第一行,显示为红色
  11. $("tr:first").css("color", "red");
  12. // 2.设置表格除第一行以外 显示为蓝色
  13. $("tr:not(:first)").css("color", "blue")
  14. // 3.设置表格奇数行背景色 黄色
  15. $("tr:gt(0):odd").css("background", "yellow");
  16. // 4.设置表格偶数行背景色 绿色
  17. $("tr:gt(0):even").css("background", "green");
  18. // 5.设置页面中所有标题 显示为灰色
  19. $(":header").css("color", "gray");
  20. // 6.设置页面中正在执行动画效果div背景黄色,不执行动画div背景绿色
  21. $("div").click(function() {
  22. $(this).slideUp("slow"); // 向上滑动
  23. $("div:animated").css("background", "yellow"); // 正在执行动画效果div背景黄色
  24. });
  25. // 不执行动画div背景绿色
  26. $("div:not(:animated)").css("background", "green");
  27. });
  28. </script>
  29. </head>
  30.  
  31. <body>
  32. <h1>表格信息</h1>
  33. <h2>这是一张商品表</h2>
  34. <table border="1" width="600">
  35. <tr>
  36. <th>商品编号</th>
  37. <th>商品名称</th>
  38. <th>售价</th>
  39. <th>数量</th>
  40. </tr>
  41. <tr>
  42. <td>001</td>
  43. <td>冰箱</td>
  44. <td>3000</td>
  45. <td>100</td>
  46. </tr>
  47. <tr>
  48. <td>002</td>
  49. <td>洗衣机</td>
  50. <td>2000</td>
  51. <td>50</td>
  52. </tr>
  53. <tr>
  54. <td>003</td>
  55. <td>热水器</td>
  56. <td>1500</td>
  57. <td>20</td>
  58. </tr>
  59. <tr>
  60. <td>004</td>
  61. <td>手机</td>
  62. <td>2188</td>
  63. <td>200</td>
  64. </tr>
  65. </table>
  66.  
  67. <div>slideDown(speed, [callback]) 概述 通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。 这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。 参数 speedString,Number三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000) callback (可选)FunctionFunction在动画完成时执行的函数</div>
  68. <div>fadeOut(speed, [callback]) 概述 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。 这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。 参数 speedString,Number三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000) callback (可选)Function在动画完成时执行的函数</div>
  69. </body>
  70.  
  71. </html>

内容过滤选择器

  1. :contains(text) 包含某个文本内容的标签
  2. :empty 没有内容的标签
  3. :has(selector) 包含指定内容的标签
  4. :parent 查找有内容的标签
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  7. <script>
  8. $(function() {
  9. // 1.设置含有文本内容 ”张学友” 的 div 的字体颜色为红色
  10. $("div:contains('张学友')").css("color", "red");
  11. // 2.设置没有子元素的div元素 文本内容 ”这是一个空DIV“
  12. $("div:empty").html("这是一个空DIV");
  13. // 3.设置包含p元素 的 div 背景色为黄色
  14. $("div:has(p)").css("background", "yellow");
  15. // 4.设置所有含有子元素的span字体为蓝色
  16. $("span:parent").css("color", "blue");
  17. });
  18. </script>
  19. </head>
  20.  
  21. <body>
  22. <div>今天是个晴天</div>
  23. <div>山东张学友河北刘德华</div>
  24. <div>
  25. <span>JavaScript</span> 是网页开发中脚本技术
  26. </div>
  27. <div>Ajax 是异步的 JavaScript和 XML</div>
  28. <div>
  29. <p>jQuery</p>
  30. 是 JavaScript一个 轻量级框架
  31. </div>
  32. <div></div>
  33. </body>
  34. </html>

可见性过滤选择器

  1. :hidden 选择隐藏的标签:1 <input type="hidden" /> 2 <标签 sytle="display:noe" .../>
  2. :visible 选择可见的标签
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  7. <script>
  8. $(function() {
  9. // 1.为表单中所有隐藏域 添加 class属性,值为alex
  10. $("form :hidden").addClass("alex");
  11.  
  12. // 2.设置table所有 可见 tr 背景色 黄色
  13. $("tr:visible").css("background", "yellow");
  14.  
  15. // 3.设置table所有 隐藏tr 字体颜色为红色,显示出来 ,并输出tr中文本值
  16. /*
  17. var _tr = $("tr:hidden").css("color", "red");
  18. var _tr2 = _tr.show();
  19. alert(_tr2.html());
  20. */
  21. alert($("tr:hidden").css("color", "red").show().html());
  22. });
  23. </script>
  24. </head>
  25.  
  26. <body>
  27. <form>
  28. <input type="hidden" /> <input type="text" name="xxx" style="display: none;" />
  29. </form>
  30. <table>
  31. <tr>
  32. <td>洗衣机</td>
  33. </tr>
  34. <tr>
  35. <td>热水器</td>
  36. </tr>
  37. <tr style="display: none">
  38. <td>电冰箱</td>
  39. </tr>
  40. </table>
  41. </body>
  42. </html>

子元素过滤选择器

  1. :nth-child 匹配其父元素下的第N个子或奇偶元素
  2. :first-child 匹配第一个子元素' first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
  3. :last-child 匹配最后一个子元素 ':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
  4. :only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  7. <script>
  8. $(function() {
  9. // 1.在每个表格 下3的倍数行,字体颜色为红色
  10. $("tr:nth-child(3n)").css("color", "red");
  11. // 2.每个表格 奇数行 背景色 黄色
  12. $("tr:nth-child(odd)").css("background", "yellow");
  13. // 3.每个表格 偶数行 背景色 灰色
  14. $("tr:nth-child(even)").css("background", "gray");
  15. // 4.每个tr 只有一个td的 背景为 蓝色
  16. $("td:only-child").css("background", "blue");
  17. });
  18. </script>
  19. </head>
  20.  
  21. <body>
  22. <table border="1" width="400" id="mytable">
  23. <tr><td>1</td><td>冰箱</td></tr>
  24. <tr><td>2</td><td>洗衣机</td></tr>
  25. <tr><td>3</td><td>热水器</td></tr>
  26. <tr><td>4</td><td>电饭锅</td></tr>
  27. <tr><td>5</td><td>电磁炉</td></tr>
  28. <tr><td>6</td><td>豆浆机</td></tr>
  29. <tr><td>7</td><td>微波炉</td></tr>
  30. <tr><td>8</td><td>电视</td></tr>
  31. <tr><td>9</td><td>空调</td></tr>
  32. <tr><td>10</td><td>收音机</td></tr>
  33. <tr><td>11</td><td>排油烟机</td></tr>
  34. <tr><td>12</td><td>加湿器</td></tr>
  35. <tr><td>13 电暖气</td></tr>
  36. </table>
  37. </body>
  38. </html>

表单过滤选择器

  1. :input 匹配所有 input, textarea, select button 元素
  2. :text 匹配所有的单行文本框
  3. :password 匹配所有密码框
  4. :radio 匹配所有单选框
  5. :checkbox 匹配所有多选框
  6. :submit 匹配提交按钮
  7. :image 匹配图片标签
  8. :reset 匹配重置按钮
  9. :button 匹配按钮
  10. :file 匹配 input type='file'的标签
  11. :hidden 匹配隐藏的标签
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  7. <script>
  8. //1.对所有text框和password框,添加离焦事件,校验输入内容不能为空
  9. $("input[name='username'], input[name='password']").blur(function() {
  10. var val = this.value;
  11. if(val == null || val.trim().length <= 0) {
  12. alert(this.name + "不得为空!");
  13. }
  14. });
  15. //2.对button 添加 点击事件,提交form表单
  16. $(":button").click(function() {
  17. $("form").submit();
  18. });
  19. </script>
  20. </head>
  21.  
  22. <body>
  23. <form action="login">
  24. 用户名 <input type="text" name="username" /> <br/> 密码 <input type="password" name="password" /> <br/>
  25. <input type="button" value="提交" />
  26. </form>
  27. </body>
  28. </html>

表单对象属性

  1. :enabled 可用
  2. :disabled 不可用
  3. :checked 选中(单选和多选)
  4. :selected 选中(下拉)
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. //1: 只读和不可用标签的联系和区别
  11. // 联系: 只能看,不能修改
  12. // 区别:
  13. // 只读虽然不能修改,但是可以随表单一起提交
  14. // 不可用不仅不能修改, 还不能表单一起提交
  15. //2: 点击button 打印radio checkbox select 中选中项的值
  16. $(":button").click(function() {
  17. // 性别
  18. var sexVal = $("input[name='gender']:checked").val();
  19. alert("性别: " + sexVal);
  20.  
  21. // 爱好
  22. var hobbyStr = "";
  23. $("input[name='hobby']:checked").each(function() {
  24. var hobby = this.value; // js写法
  25. hobbyStr += hobby + ",";
  26. });
  27. alert("爱好 : " + hobbyStr);
  28.  
  29. // 城市
  30. var cityVal = $("select[name='city'] option:selected").val();
  31. alert("城市:" + cityVal);
  32. });
  33. });
  34. </script>
  35. </head>
  36.  
  37. <body>
  38. <form>
  39. 用户名(只读): <input type="text" readonly="readonly" name="username" value="zhangsan" /> <br/>
  40. 密码(不可用): <input type="text" disabled="disabled" name="123" value="123" /> <br/>
  41. 性别
  42. <input type="radio" value="男" name="gender" />
  43. <input type="radio" value="女" name="gender" /><br/>
  44. 爱好
  45. <input type="checkbox" value="抽烟" name="hobby" /> 抽烟
  46. <input type="checkbox" value="喝酒" name="hobby" /> 喝酒
  47. <input type="checkbox" value="烫头" name="hobby" /> 烫头 <br/>
  48. 城市
  49. <select name="city">
  50. <option value="">请选择</option>
  51. <option value="北京">北京</option>
  52. <option value="上海">上海</option>
  53. <option value="天津">天津</option>
  54. </select> <br/>
  55. <input type="button" value="打印" />
  56. </form>
  57. </body>
  58.  
  59. </html>

jQuery操作DOM

操作属性

  1. attr(name|pro|key,val|fn) 设置或返回被选元素的属性值。
  2. removeAttr(name)
  3. prop(n|p|k,v|f)1.6+ 获取在匹配的元素集中的第一个元素的属性值。(适用于单选 多选 下拉框)
  4. removeProp(name)1.6+
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 设置标签存在的属性
  11. $("#btn1").click(function() {
  12. $("a").attr("href", "http://www.baidu.com");
  13. })
  14.  
  15. // 设置标签不存在的属性
  16. $("#btn2").click(function() {
  17. $("a").attr("meinv", "刘亦菲");
  18. })
  19.  
  20. $("#btn3").click(function() {
  21. $("input[name='sex']").each(function() {
  22. var attrChecked = $(this).attr("checked"); // 获取单选的选中状态不合适
  23. alert(this.checked + " ===== " + attrChecked);
  24. });
  25. });
  26.  
  27. $("#btn4").click(function() {
  28. $("input[name='sex']").each(function() {
  29. var propChecked = $(this).prop("checked");
  30. alert(this.checked + " ===== " + propChecked);
  31. });
  32. });
  33. });
  34. </script>
  35. </head>
  36.  
  37. <body>
  38. <a>百度</a> <br/>
  39. <input type="button" id="btn1" value="设置标签存在的属性" /> <br/>
  40. <input type="button" id="btn2" value="设置标签不存在的属性" /> <br/>
  41. <hr/>
  42.  
  43. <input type="radio" name="sex" value="女" />
  44. <input type="radio" name="sex" value="男" checked="checked" /><br/>
  45. <input type="button" id="btn3" value="通过attr获取选中状态" /> <br/>
  46. <input type="button" id="btn4" value="通过prop获取选中状态" />
  47. </body>
  48.  
  49. </html>

设置样式

  1. 直接设置css样式:
  2. $("p").css("color") 获取第一个段落的color
  3. $("p").css("color","red") 将所有段落的字体设为红色
  4. $("p").css({color:"#ff0011", background:"blue"}) 将所有段落字体设置为红色,背景设置为蓝色
  5. 设置css类:
  6. addClass(class|fn) 增加class样式
  7. removeClass([class|fn]) 删除class样式
  8. toggleClass(class|fn[,sw]) 切换css样式: 去掉; 没有 增加
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <style type="text/css">
  8. .changeBackYellow {
  9. background: yellow;
  10. }
  11.  
  12. .changeFontBlue {
  13. color: blue;
  14. }
  15. </style>
  16. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  17. <script>
  18. $(function() {
  19. $("#btn1").click(function() {
  20. // 方式一
  21. $("div").attr("style", "background:yellow");
  22.  
  23. // 方式二: 通过css
  24. $("div").css("background", "yellow");
  25.  
  26. // 方式三: 增加class样式
  27. $("div").addClass("changeBackYellow");
  28.  
  29. // 切换效果: 有 去掉; 没有 增加
  30. $("div").toggleClass("changeBackYellow");
  31. });
  32.  
  33. // 字体变蓝
  34. $("#btn2").click(function() {
  35. // 方式一
  36. $("div").attr("style", "color:blue");
  37.  
  38. // 方式二: 通过css
  39. $("div").css("color", "blue");
  40.  
  41. // 方式三: 增加class样式
  42. $("div").addClass("changeFontBlue");
  43.  
  44. // 切换效果: 有 去掉; 没有 增加
  45. $("div").toggleClass("changeFontBlue");
  46. });
  47. });
  48. </script>
  49. </head>
  50.  
  51. <body>
  52. <div>心情不错!</div>
  53. <input type="button" value="背景变黄" id="btn1" />
  54. <input type="button" value="字体变蓝" id="btn2" />
  55. </body>
  56.  
  57. </html>

获取标签内容和标签填写的值

  1. 读取和设置某个元素中HTML内容
  2. 标签.html() 获取一个元素中html内容
  3. 标签.html(val) 设置一个元素中html内容
  4. 这个函数不能用于XML文档。但可以用于XHTML文档
  5.  
  6. 读取和设置某个元素中的文本内容
  7. 标签.text() 获取一个元素中 文本内容
  8. 标签.text(val) 设置一个元素中 文本内容
  9. 该方法既可以用于 XHTML 也可以用于 XML 文档
  10.  
  11. 文本框、下拉列表框、单选框 选中的元素值
  12. 标签.val() 获取文本框、下拉列表框、单选框 value
  13. 标签.val(val) 设置文本框、下拉列表框、单选框 value
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 1.<div><p>山东张学友</p></div> 获取div中 html和text 对比
  11. var _html = $("div").html(); //带有p标签
  12. var _text = $("div").text(); //不带标签
  13.  
  14. // 2.单击pickBtn 使用val() 获得文本框、下拉框、单选框选中的value
  15. $("#pickBtn").click(function() {
  16. // 用户名
  17. var usernameVal = $("input[name='username']").val();
  18. console.info("用户名 === " + usernameVal);
  19. // 城市
  20. var cityVal = $("select[name='city']").val();
  21. console.info("城市 === " + cityVal);
  22. // 爱好
  23. var hobbyStr = "";
  24. $("input[name='hobby']:checked").each(function() {
  25. hobbyStr += this.value + ", ";
  26. });
  27. console.info("爱好 === " + hobbyStr);
  28. // 性别
  29. var sexVal = $("input[name='gender']:checked").val();
  30. console.info("性别 === " + sexVal);
  31. });
  32.  
  33. // 3.单击setBtn 通过 val() 设置单选框、下拉框的选中效果
  34. $("#setBtn").click(function() {
  35. // 用户名
  36. $("input[name='username']").val("梅西");
  37.  
  38. // 城市
  39. $("select[name='city']").val("北京");
  40.  
  41. // 爱好(多个)
  42. $("input[name='hobby']").val(["足球", "篮球", "乒乓球"]);
  43.  
  44. // 性别(将单选认为是特殊多选, 只能选择一个)
  45. $("input[name='gender']").val(["男"]);
  46. });
  47. });
  48. </script>
  49. </head>
  50.  
  51. <body>
  52. <div>
  53. <p>山东张学友</p>
  54. </div>
  55. <form>
  56. 用户名 <input type="text" name="username" /> <br/>
  57. 城市
  58. <select name="city">
  59. <option value="">请选择</option>
  60. <option value="北京">北京</option>
  61. <option value="上海">上海</option>
  62. </select><br/>
  63. 爱好
  64. <input type="checkbox" name="hobby" value="足球" />足球
  65. <input type="checkbox" name="hobby" value="篮球" />篮球
  66. <input type="checkbox" name="hobby" value="乒乓球" />乒乓球
  67. <input type="checkbox" name="hobby" value="排球" />排球 <br/>
  68. 性别
  69. <input type="radio" name="gender" value="男" />
  70. <input type="radio" name="gender" value="女" /><br/>
  71. <input type="button" value="取值" id="pickBtn" />
  72. <input type="button" value="设值" id="setBtn" />
  73. </form>
  74. </body>
  75.  
  76. </html>

jQuery操作

  1. 创建元素
  2. 使用工厂函数 jQuery(html, [ownerDocument]) --- jQuery可以写为$
  3. 例如: $(“<div>你好,jQuery</div>”);
  4. 内部插入
  5. $node.append($newNode)向每个匹配的元素内部的结尾处追加结尾处
  6. $newNode.appendTo($node)将新元素追加到每个匹配元素内部的结尾处
  7. $node.prepend($newNode) 向每个匹配的元素内部的结尾处追加开始处
  8. $newNode.prependTo($node)将新元素追加到每个匹配元素内部的开始处
  9. 外部插入
  10. $node.after($newNode) 向每个匹配的元素的之后插入内容,是并列兄弟
  11. $newNode.insertAfter($node) 将新元素插入到每个匹配元素之后
  12. $node.before($newNode) 向每个匹配的元素的之前插入内容
  13. $newNode.insertBefore($node) 将新元素插入到每个匹配元素之前
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 插入大专学历 (本科和高中之间)--- 外部插入
  11. var _dazhuan = "<option value='大专'>大专</option>";
  12. $("option[value='本科']").after(_dazhuan);
  13.  
  14. // 插入幼儿园 (学历列表最后) --- 内部插入
  15. var _youeryuan = "<option value='幼儿园'>幼儿园</option>";
  16. $("#edu").append(_youeryuan)
  17. });
  18. </script>
  19. </head>
  20.  
  21. <body>
  22. <!-- 选择学历 -->
  23. <select id="edu" name="edu">
  24. <option value="">请选择</option>
  25. <option value="本科">本科</option>
  26. <option value="高中">高中</option>
  27. <option value="中转">中专</option>
  28. <option value="小学">小学</option>
  29. </select>
  30. </body>
  31.  
  32. </html>

删除标签对象

  1. $("").remove() 删除标签 并删除标签对应的事件
  2. $("").detach() 删除标签 但是不删除标签对应的事件
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
  8. <script>
  9. $(function() {
  10. // 绑定事件
  11. $("#inner").click(function() {
  12. //既会触发inner的click事件 也会触发outer的click事件(事件冒泡)
  13. alert("点击内部的div ... ...");
  14. });
  15.  
  16. $("#outer").click(function() {
  17. alert("点击外部的div ... ...");
  18. });
  19.  
  20. // 1 使用remove删除内部div标签, 再将删除标签 重新加入body 查看事件是否存在: 事件不存在
  21. var _inner = $("#inner").remove();
  22. $("body").append(_inner);
  23.  
  24. // 2 使用detach删除标签, 再将删除标签 重新加入body 查看事件是否存在: 保留事件
  25. var _inner = $("#inner").detach();
  26. $("body").append(_inner);
  27.  
  28. // 3 清空id='inner'的标签内容
  29. $("#inner").empty();
  30.  
  31. });
  32. </script>
  33. </head>
  34.  
  35. <body>
  36. <div id="outer" style="background:blue;width:300px;height:300px;">
  37. <div id="inner" style="background:red;width:150px;height:150px;">山东张学友!!!
  38. </body>
  39.  
  40. </html>

替换标签对象

  1. 替换:
  2. replaceWith(content|fn) 将所有匹配的元素替换成指定的HTMLDOM元素。
  3. replaceAll(selector) 用匹配的元素替换掉所有 selector匹配到的元素。
  4. 克隆:
  5. clone([Even[,deepEven]]) 克隆匹配的DOM元素并且选中这些克隆的副本。
  1. replaceWith(把所有的段落标记替换成加粗的标记。):
  2. html代码:
  3. <p>Hello</p><p>cruel</p><p>World</p>
  4. jQuery代码:
  5. $("p").replaceWith("<b>Paragraph. </b>");
  6. 结果:
  7. <b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>
  8.  
  9. replaceAll(把所有的段落标记替换成加粗标记):
  10. html代码:
  11. <p>Hello</p><p>cruel</p><p>World</p>
  12. jQuery代码:
  13. $("<b>Paragraph. </b>").replaceAll("p");
  14. 结果:
  15. <b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>
  16.  
  17. clone
  18. 1,克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。
  19. html代码:
  20. <b>Hello</b><p>, how are you?</p>
  21. jQuery代码:
  22. $("b").clone().prependTo("p");
  23. 结果:
  24. <b>Hello</b><p><b>Hello</b>, how are you?</p>
  25. 2,创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
  26. html代码:
  27. <button>Clone Me!</button>
  28. jQuery代码:
  29. $("button").click(function(){
  30. $(this).clone(true).insertAfter(this);
  31. });
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Insert title here</title>
  6. <style type="text/css">
  7. div {
  8. padding : 10px;
  9. background-color : blue;
  10. }
  11.  
  12. p {
  13. background-color : red;
  14. }
  15. </style>
  16. <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
  17. <script type="text/javascript">
  18. $(function(){
  19. // 需求1:当点击btn1时,将外面的p标签 替换 里面的p标签
  20. $("#btn1").click(function(){
  21. // $(被替换的节点).replaceWith(新节点);
  22. $("#mydiv_p").replaceWith($("#myp"));
  23. // 问题: 替换产生了移动效果, 类似域 ctrl + x 剪切
  24. // 理想效果: 先复制,再粘贴
  25. });
  26. // 需求2:当点击btn2时,将外面的p标签 替换且克隆 里面的p标签
  27. $("#btn2").click(function(){
  28. // $(被替换的节点).replaceWith(新节点);
  29. // 问题: 替换产生了移动效果, 类似域 ctrl + x 剪切
  30. // 理想效果: 先复制,再粘贴
  31. // 克隆: $(被复制的标签).clone() 类似 : ctrl + c
  32. $("#mydiv_p").replaceWith($("#myp").clone());
  33.  
  34. });
  35.  
  36. });
  37. </script>
  38. </head>
  39. <body>
  40. <div id="mydiv">
  41. <p id="mydiv_p">AAAA</p>
  42. </div>
  43. <p id="myp">BBBB<a href="#">CCCC</a></p>
  44. <input type="button" id="btn1" value="替换"/>
  45. <input type="button" id="btn2" value="替换并克隆"/>
  46. </body>
  47. </html>

jQuery事件

  1. blur([[data],fn])
  2. change([[data],fn])
  3. click([[data],fn])
  4. dblclick([[data],fn])
  5. error([[data],fn])
  6. focus([[data],fn])
  7. focusin([data],fn)
  8. focusout([data],fn)
  9. keydown([[data],fn])
  10. keypress([[data],fn])
  11. keyup([[data],fn])
  12. mousedown([[data],fn])
  13. mouseenter([[data],fn])
  14. mouseleave([[data],fn])
  15. mousemove([[data],fn])
  16. mouseout([[data],fn])
  17. mouseover([[data],fn])
  18. mouseup([[data],fn])
  19. resize([[data],fn])
  20. scroll([[data],fn])
  21. select([[data],fn])
  22. submit([[data],fn])
  23. unload([[data],fn])

事件相关用法及jQuery其他用法可以参考相关api。

jQuery简单介绍及基本用法(选择器&DOM操作)的更多相关文章

  1. jQuery 简单介绍

    jQuery  简单介绍 jQuery的定义 jQuery是一个快速,小巧,功能丰富的JavaScript库.它通过易于使用的API在大量浏览器中运行,使得   HTML文档遍历和操作,事件处理,动画 ...

  2. jQuery简单介绍

    一.jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交 ...

  3. 关于JQuery简单介绍

    jQuery是一个兼容多浏览器的javascript库,核心理念是写得更少,做得更多.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用 ...

  4. jquery学习:选择器&dom操作

    分类; 1.基本选择器 1.标签选择器(元素选择器) *  语法:$("html标签名”) 获得所有匹配标签名称的元素 2.id选择器 *  语法:$("#id的属性值" ...

  5. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

  6. jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解

    本节说一下DOM操作模块里的包裹元素子模块,该模块可将当前匹配的元素替换指定的DOM元素,有如下方法: wrap(html)               ;在每个匹配元素的外层添加一层DOM元素   ...

  7. jQuery 源码解析(二十二) DOM操作模块 复制元素 详解

    本节说一下DOM操作模块里的复制元素子模块,该模块可以复制一个DOM节点,并且可选择的设置是否复制其数据缓存对象(包含事件信息)和是否深度复制(子孙节点等),API如下: $.clone(elem, ...

  8. jQuery基本API小结(上)--选择器-DOM操作-动画-Ajax

    一.JQuery基础选择器 1.基本选择器(CSS选择器) 2.$()中的()不一定是指定元素,也可能是函数. 3.“*”号选择器,它的功能是获取页面中的全部元素:$(“*”). 由于使用*选择器获取 ...

  9. JQuery:介绍、安装、选择器、属性操作、动画

    目录 jQuery 详细内容 1.JQuery介绍 2.JQuery的下载安装 3.JQuery的使用 4.jQuery的选择器 5.JQuery的属性操作 6.动画 6.自定义动画 jQuery 详 ...

随机推荐

  1. js控制iframe的刷新(页面局部刷新)

    今天遇到个问题,后台会员审核之后,页面内的会员审核状态要及时改变,但又不能指望用户手动刷新(用户体验很不好) 如果审核页面和显示审核状态时同在一个html页面的话,那么直接用js改变div内部的文本就 ...

  2. 解决AndroidStudio导入项目在 Building gradle project info 一直卡住

    Android Studio导入项目的时候,一直卡在Building gradle project info这一步,主要原因还是因为被墙的结果.gradle官网虽然可以访问,但是速度连蜗牛都赶不上.. ...

  3. RIPng 知识要点

    RIPng  --------------------------------------------------------- UDP:521 多播地址:FF02::9 -------------- ...

  4. 前端基础之jQuery入门 01

    jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...

  5. I.MX6 View长宽大于屏的分辨率

    /******************************************************************************** * I.MX6 View长宽大于屏的 ...

  6. (三)canvas绘制样式

    beginPath() 对画线点的一个开始限制 moveTo() 画线的起点,只在开头使用 参数两个x轴,y轴 lineTo() 后续连线 两个参数x轴,y轴 stroke() 连线无填充 fill( ...

  7. fn project Function files 说明

    主要是文件 func.yaml func.json 详细说明如下: An example of a function file: name: fnproject/hello version: 0.0. ...

  8. Cocos2d-x -自己定义动作 圆周运动

    原文地址:http://blog.csdn.net/u012945598/article/details/17605409 在之前的文章中我们以前讲过Cocos2d-x中的各种动作的用法,我们先来简单 ...

  9. 1.使用Fiddler进行接口测试

    1.Fiddler既可以用来抓包数据,亦可以进行接口测试.(可参考我的另一篇博客:https://www.cnblogs.com/android-it/p/9523548.html 进行接口的编写) ...

  10. shell变量(字符串)间的连接

    shell变量(字符串)间的连接 对于变量或者字符串的连接,shell提供了相当简单的做法,比string的连接还要直接. 直接放到一起或用双引号即可. 例如$a, $b,有 c=$a$b c=$a& ...