zoukankan      html  css  js  c++  java
  • jQuery-认识JQuery,jQuery选择器

    认识JQuery:

    1、window.onload与$(document).ready()的区别

    window.onload

    $(document).ready()

    执行时机

    必须等待网页中的所有内容加载完毕后才能执行

    网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有完全加载完

    编写个数

    不能同时编写多个方法

    可以同时编写多个

    简化写法

    $(document).ready(function(){

    //…

    })

    2、jQuery对象以及DOM对象

    jQuery:

    $(”#foo”).html( );  //获取id为foo的元素内的html代码,html( )是jQuery里的方法

    在DOM中,

    document.getElementById("foo").innerHTML;

    3、

    获取jQuery对象 : var  $variable = jQuery对象

    获取DOM对象 : var variable = DOM对象

    4、jQuery对象不能使用DOM中的方法,要将转为DOM对象才可以使用 [index] , get(index)

    jQuery是一个类似于数组的对象,可以通过[index]的方法得到相应的DOM对象

    方法1:

    var  $cr = $("#cr") ;  //jQuery对象

    var cr = $cr[0];   //DOM对象

    alert(cr.checked)  //检测这个checkbox是否被选中

    方法2:

    var $cr = $("#cr");   //jQuery对象

    var cr = $cr.get(0);    //DOM对象

    alert(cr.chencked);

    5、DOM对象转化为jQuery对象:只要用$()将DOM对象包起来就可以得到一个jQuery对象

    jQuery代码:

    var cr = document.getElementById("cr");  //DOM对象

    var $cr = $(cr)    //jQuery对象

    6、

    $(document).ready(function(){

          var $cr = $("#cr");    //jQuery对象

          var cr = $cr[0];        //DOM对象

          $cr.click(function(){    

               if(cr.checked){      //DOM判断

                     alert("感谢你的支持,你可以继续操作");

               }

          })

    })

    $(document).ready(function(){

          var $cr = $("$cr");    // jQuery对象

          $cr.click(function(){       

               if($cr.is(":checked")){     //jQuerry判断

                     alert("感谢你的支持,你可以继续操作");

               }

          })

    })

    jQuery选择器:

    1、<p class="demo"> aaaa </p>    ----在jQuery中获取到节点:$(".demo")

    2、JS中:

        <div>test</div>

        <script type="text/javascript">

             document.getElementById("tt").style.color = "red"; 

             ------会报错,在文档中没有id=tt的节点

        </script>

        <div>test</div>

        <script type="text/javascript">

             if(document.getElementById("tt")){

             document.getElementById("tt").style.color = "red"; 

             ------不会报错,在文档中即使没有id=tt的节点

         }

    </script>

    jQuery中:

        <div>test</div>

        <script type="text/javascript">

           $('#tt').css("color","red");

           -----在jQuery中是不需要判断该节点是否存在的,

        </script>

    $('#tt')获取的永远是对象,即使网页中没有此元素

    3、jQuery中检测某个元素是否存在的时候,不能使用以下代码,应该利用对象的长度或者转化为DOM对象

        if( $('#tt') ){

              ----错误的

        }

        if( $('#tt').length > 0){

              //do Something

    }

     if( $('#tt')[0] ){

      //do Something

     }

    4、

    $("div,span,p.myClass")選取所有的<div>,<span>,以及class為myClass的<P>標籤的一組標籤   ----集合元素

    基本选择器:

    $("#one").css("background","#bbffaa");

    $(".mini").css("background","#bbffaa");

    $("div").css("background","#bbffaa");

    $("*").css("background","#bbffaa");

    $("span, #two").css("background","#bbffaa");

    层次选择器:

    $("div span")选取<div>里的所有span元素

    $("div > span")选取<div>元素下,元素名为<span>的子元素

    $(".one + div")选取class为one的下一个<div>的同辈元素

    $("#two ~div")选取id为two的元素后面的所有<div>同辈元素

    过滤选择器:

    $("div :first")选取所有<div>元素后面的第一个<div>元素

    $("div :last")选取所有<div>元素后面的最后一个<div>元素

    $("input :not(.myClass)")选取class不是myClass的<input>元素

    $("input :even")选取索引是偶数的<input>元素

    $("input :odd")选取索引是奇数的<input>元素

    $("input :eq(1)")选取索引等于1的<input>元素

    $("input :gt(1)")选取索引大于1的<input>元素

    $("input :lt(1)")选取索引小于1的<input>元素

    $("div :animated")选取正在执行动画的<div>元素

    $(":focus")选取当前获取焦点的元素

    内容过滤选择器:

    $("div :contains('我')")选取含有文本 “我”的<div>元素

    $("div :empty")选取不包含子元素(包括文本元素)的<div>空元素

    $("div :has(p)")选取含有<p元素的<div>元素

    $("div :parent")选取拥有子元素(包括文本元素)的<div>元素

    可见性过滤选择器:

    $(":hidden")选取所有的不可见元素,包含<input type="hidden" />,<div style="display:none;">和<div style="visibility:hidden;">等元素

    $("input :hidden")

    $("div :visible") 选取所有的可见的div元素

    属性过滤选择器:

    $("div[id]")   选取拥有属性id的元素

    $("div[title=test]")  选取title为test的div元素

    $("div[title != test]")  选取title不等于test的div元素,没有改属性的也会被选中

    $("div[title ^= test]")  选取title属性以“test”开始的div元素

    $("div[title $= test]")  选取title属性以“test”结束的div元素

    $("div[title *= test]")  选取title属性含有“test”的div元素

    $('div[title |= "en"]')  选取title属性等于en获取以en为前缀(-  分隔)的元素

    $("div[title ~= "uk"]")  选取title属性用空格分隔的值中包含字符uk的元素

    $("div[id][title $= 'test']")  选取拥有属性id,并且属性title以“test”结束的div元素

    子元素过滤选择器:

    :nth-child(index/even/add) :选取每个父元素下的第index个子元素或者奇偶元素,index从1开始,为每一个符合条件的父元素匹配子元素

    :first-child :选取每个父元素的第一个子元素

    :last-child :选取每个父元素的最后一个子元素

    :only-child 如果某个元素是它父元素中唯一的子元素,则会被匹配

    表单对象属性过滤器:

    :enabled :选取所有可用元素  ---disabled

    :disabled :选取所有不可用的元素  ---disabled

    :checked :选取所有被选中的元素

    :selected :选取所有被选中的选项元素(下拉列表) $("select option:selected")选取所有被选中的选项元素

    获取内容的是text()方法

    表单选择器:

    :input

    :text

    :password

    :radio

    :checkbox

    :submit

    :image

    :reset

    :button

    :file

    :hidden

    5、

    可以使用next()方法代替$('prev + next')选择器

    $(".one + div")   等价于    $(".one").next("div")

    可以使用nextAll()方法代替$('prev ~sibling')

    $("#prev ~div")   等价于    $("#prev").nextAll("div")

    sibling()与$('prev ~sibling')选择器进行比较,sibling()与位置无关

    //选取#prev之后的所有同辈div元素

    $("#prev ~div").css("background","#bbffaa");

    //同上

    $("#prev").nextAll("div").css("background","#bbffaa");

    //选取##prev的所有同辈div元素,与前后位置无关

    $("#prev").sibling("div").css("background","#bbffaa");

    6、选择器中含有空格,多一个空格或少一个空格也许会得到截然不同的结果

    //选取class为“test”的元素里面的隐藏元素

    var $a = $('.test :hidden');  ---带空格的  ---长度为4

    //选取掩藏的class为“test”的元素

    var $b = $('.test:hidden');  ---不带空格的  ---长度为3

  • 相关阅读:
    HDU--2024
    HDU--2021
    HDU--2020
    HDU--2019
    HDU--2018
    HDU--2017
    HDU--2016
    python全栈开发day13-迭代器、生成器、列表推导式等
    python全栈开发day12-函数的有用信息、带参数的装饰器、多个装饰器装饰一个函数、global和nonlocal的进一步解析和总结
    Python3使用Print输出带颜色字体
  • 原文地址:https://www.cnblogs.com/zhanghuiyun/p/5183790.html
Copyright © 2011-2022 走看看