jQuery-简化的javaScript

简化的javaScript

       jQuery是一个轻量级的js库,兼容css3 和各种浏览器,能使用户更方便的处理HTML,事件,实现动画效果,并且集成了AJAX可以更方便的与网站进行交互。
        jQuery的宗旨是write  less ,do  more。


jQuery的优点:
    轻巧方便、强大的选择器、出色的DOM操作的封装、可靠的事件处理机制、出色的浏览器兼容性、完善的AjAX、开发源代码。

jQuery的使用
    导入jQuery库文件
   
   
  1. <script src="jquery-1.6.js"></script>
   使用$获取jQuery对象
    var $obj = $("#menu");
jQuery对象的变量用$变量名来区分JS的变量

jQuery获取对象的方式使用选择器获取
$("div")            标签选择器
$("#div")          ID选择器
$(".div")            类选择器
$("div img")        层叠式级联选择器
       获取jquery对象,如果使用jquery获取对象后并找到对应的标签对象,还是会返回object,但是其size为0    



jQuery获取的对象是jQuery对象,不是DOM对象
jQuery获取的对象是封装后的数组对象。

jQuery对象的基本方法和属性
    属性      length            获取对象的数量
    方法      size()             等同length
                get()                获取DOM对象的数组
                get(index)        获取单个DOM对象
                html()              获取对象内的所有内容     等同于 DOM对象的innerHTML
                text()               获取对象内的文本内容     等同于DOM对象的innerText
                val()                获取对象的值                    等同于DOM对象的value
                each()        遍历数组的对象

html()   text()  val()   可以进行值的写入   

this在此时表示被遍历的标签对象,被遍历的对象是DOM类型的对象
   
   
  1. //each用于对jquery对象进行循环遍历
  2. $obj.each(function(){
  3. //this在此时表示被遍历的标签对象,被遍历的对象是DOM类型的对象
  4. alert(this.id);
  5. });


jQuery 对象  和  DOM对象的转换
   jQuery对象转换为DOM对象        get(index)
   
   
  1. //将jquery转换成DOM对象的方式通过get(index)方法实现
  2. //$obj = $("#div");
  3. //var obj = $obj.get(0);
   DOM对象转换为jQuery对象        $(DOM对象)
   
   
  1. //var obj = document.getElementById("div");
  2. //$obj = $(obj);



jQuery对于获取对象的筛选
    >                    获取父元素的子元素的集合
    +                    获取指定对象的下一个同级对象
    ~                    获取指定对象后的所有同级对象
:first                获取第一个对象
:last                获取最后一个对象
:not                对指定属性进行取反获取

:even             获取索引值为偶数的对象集合
:odd               获取索引值为奇数的对象集合
:eq                 获取指定索引值的对象
:gt                  获取大于指定索引值的对象集合
:lt                    获取小于指定索引值的对象集合

:contains           获取匹配指定文本内容的对象
:empty                获取不包含子元素或文本内容的对象
:has                     获取匹配选择器的对象
:parent                获取包含子元素或文本的对象
:hidden               获取隐藏的对象
:visible            获取可见的对象
  
  
  1. //获取指定选择器对应的下一级子元素
  2. //$obj = $("table>tbody>tr");
  3. //获取id为div1标签的下一级元素的input标签对象
  4. //级联选择将获取标签中所有对应的子标签对象
  5. //alert($("#div1 input").size());
  6. //alert($("#div1>input").val());
  7. //获取div1的下一个同级的节点对象
  8. //$obj = $("#div1+div");
  9. //alert($obj.size());
  10. //alert($obj[0].id);
  11. //获取div1的所有同级的div对象
  12. //$obj = $("#div1~div");
  13. //alert($obj.size());
  14. //$obj.each(function(){
  15. // alert(this.id);
  16. //})
  17. //has方法表示获取满足选择条件的对象或者是包含指定jquery对象的对象
  18. //has方法的参数既可以写选择器表达式,也可以写入jquery对象
  19. //在div1的所有同级的div对象中获取包含input标签的层对象
  20. //alert($obj.has("input").get(0).id);
  21. //在div1的所有同级的div对象中获取包含id为a标签的层对象
  22. //alert($obj.has($("#a")).get(0).id);
  23. //获取id为tab表格中中第一个列
  24. //$obj = $("#tab>tbody>tr>td:first");
  25. //使用方法获取第一个列
  26. //$obj = $("#tab>tbody>tr>td").first();
  27. //获取最后一个列
  28. //$obj = $("#tab>tbody>tr>td:last");
  29. //使用方法获取最后一个列
  30. //$obj = $("#tab>tbody>tr>td").last();
  31. //获取td中选中的input标签
  32. //$obj = $("#tab>tbody>tr>td>input:checked");
  33. //获取td中没有选中的input标签
  34. //$obj = $("#tab>tbody>tr>td>input:not(:checked)");
  35. //alert($obj.size());
  36. //$obj.each(function(){
  37. // alert(this.value);
  38. //})
  39. //使用not方法实现 获取td中没有选中的input标
  40. //$obj = $("#tab>tbody>tr>td>input").not("input:checked");
  41. //$obj = $("#tab>tbody>tr>td>input").not($("input:checked"));
  42. //alert($obj.size());
  43. //链式访问是jquery的特点
  44. //$("#tab>tbody>tr>td>input").not("input:checked").each(function(){
  45. // alert($(this).val());
  46. //})
   
   
  1. //获取所有的奇数的行
  2. //根据索引来计算奇数
  3. //$("#tab>tbody>tr:odd").each(function(){
  4. // alert($(this).html());
  5. //})
  6. //获取偶数的行
  7. //$("#tab>tbody>tr:even").each(function(){
  8. // alert($(this).html());
  9. //})
  10. //获取id为tab表格中的第2行的第2列
  11. //$obj = $("#tab>tbody>tr:eq(1)>td:eq(1)");
  12. //使用方法来实现上述功能
  13. //$obj = $("#tab>tbody>tr").eq(1).find("td").eq(1);
  14. //$obj.each(function(){
  15. // alert($(this).html());
  16. //})
  17. //获取第一行以外的所有td
  18. //$obj = $("#tab>tbody>tr:gt(0)>td");
  19. //$obj.each(function(){
  20. // alert($(this).html());
  21. //})
  22. //使用not实现上述功能
  23. //$obj = $("#tab>tbody>tr:not(:eq(0))>td");
  24. //$obj = $("#tab>tbody>tr").not(":eq(0)").find("td");
  25. //$obj.each(function(){
  26. // alert($(this).html());
  27. //})
  28. //获取#tab中最后行以外的所有行中第2列中的最后一个没有选中的复选框
  29. //获取最后行的索引
  30. var index = $("#tab>tbody>tr").size()-1;
  31. $obj = $("#tab>tbody>tr:lt("+index+")");
  32. //each中function的参数表示循环的索引值,从0开始
  33. //$obj.each(function(i){
  34. // //alert($(this).html());
  35. // alert(i);
  36. //});
  37. //tr的遍历
  38. $obj.each(function(){
  39. //获取行中的所有td
  40. var $tds = $(this).find("td");
  41. //td的遍历
  42. $tds.each(function(i){
  43. //如果是第二个列
  44. if(i == 1){
  45. //获取该列中最后一个没有选中的input标签
  46. var $input = $(this).find("input:not(:checked):last");
  47. alert($input.val());
  48. }
  49. })
  50. });
    
    
  1. var $obj;
  2. //获取#parent的下一级层中包含文本"内嵌层"的标签对象
  3. //$obj = $("#parent>div:contains(层)");
  4. //alert($obj.size());
  5. //$obj.each(function(){
  6. // alert(this.id);
  7. //})
  8. //获取#parent的下一级层中为空(即不包含文本,也不包含子标签)的div
  9. //$obj = $("#parent>div:empty");
  10. //alert($obj.get(0).id);
  11. //获取content中所有的非空层对象
  12. //$obj = $("#content>div:not(:empty)")
  13. //获取包含了input标签的层对象
  14. //$obj = $("#parent>div:has(input:checked)");
  15. //alert($obj.size());
  16. //$obj.each(function(){
  17. // alert(this.id);
  18. //});
  19. //获取指定标签的父元素对象
  20. //$obj = $("#parent>div:has(input:checked)");
  21. //var $parent = $obj.parent();
  22. //alert($parent[0].id);
  23. //$obj = $("div:has(input:checked):parent")
  24. //alert($obj[0].id);
  25. //获取所有隐藏的input标签对象
  26. //$obj = $("input:hidden");
  27. //alert($obj.val());
  28. //获取所有没有隐藏的input对象
  29. //$obj = $("input:visible");
  30. //$obj = $("input:not(:hidden)");
  31. //alert($obj.val());



[attribute]                                        获取指定属性的对象
[attribute = value]                             获取指定属性是指定值的对象
[attribute ^=value ]                            获取属性以指定值开始的对象
[attribute $=value]                             获取属性以指定值结束的对象
[attribute *= value]                             获取属性包含指定值的对象

   
   
  1. <div id="container">
  2. <div id="div1" class="redStyle"><input type="text" value="a" /></div>
  3. <div id="div2" class="blueStyle"><input type="password" value="b" /></div>
  4. <div id="div3"><input type="button" value="c" /></div>
  5. </div>
  6. </body>
  7. <script>
  8. //获取具备id属性的div对象
  9. var $obj;
  10. //$obj = $("div[id]");
  11. //具备class属性的div对象
  12. //$obj = $("div[class]");
  13. //获取id为div2的层对象
  14. //$obj = $("div[id=div2]");
  15. //匹配包含input标签的div,同时input标签要具备value属性,并且为a
  16. //$obj = $("div:has(input[value=a])");
  17. //获取id以div开头的所有div对象
  18. //$obj = $("div[id^=div]");
  19. //获取class以Style结尾的所有div对象
  20. //$obj = $("div[class$=Style]");
  21. //获取id中包含con的所有div对象
  22. //$obj = $("div[id*=con]");
  23. //$obj.each(function(){
  24. // alert($(this).attr("id"));
  25. //})
  26. //根据表单元素的类别获取特定的表单元素,方式式根据input标签的type属性的值来实现
  27. //获取文本框对象
  28. //alert($(":text").val());
  29. //获取密码框对象
  30. //alert($(":password").val());






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值