javascript(二)

jQuery

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <!--引入jQuery库-->
    <script type="text/javascript" src="../lib/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        //相当于windows.onload=function()
        $(function(){
            //jquery方式的 查询id为bt的标签
            var $btnObj=$("#bt");
            $btnObj.click(function(){
                alert("jQuery的单击事件");
            });
        });
    </script>
    </head>
    <body>
        <button id="bt">hello</button>
    </body>
</html>

$是一个函数

关于$:

  1. 传入参数为‘函数’时,表示页面加载完成之后,相当于window.onload=function(){}

  2. 传入参数为HTML字符串时,会创建这个HTML标签对象。

  3. 传入参数为选择器字符串时:

    $("#id属性值") :id选择器,根据id查询标签对象

    $("标签名"):标签名选择器,根据指定的标签名查询标签对象

    $(".class属性值"):类型选择器,可以根据class属性查询标签对象

  4. 传入参数为dom对象时

    会把这个dom对象转换为jQuery对象。

区分dom对象和jQuery对象

DOM对象:

  • 通过getElementByID()查询出来的标签对象是DOM对象
  • 通过getElementsByName()查询出来的标签对象是DOM对象
  • 通过getElementsByTagName()查询出来的标签对象是DOM对象
  • 通过createElement()创建的对象,是DOM对象

DOM对象Alert出来的效果是[object HTML 标签名 Element]

jQuery对象

  • 通过jQuery提供的API创建的对象,是jQuery对象
  • 通过jQuery包装的Dom对象,也是jQuery对象
  • 通过jQuery提供的API查询到的对象,是jQuery对象

jQuery对象alert出来的效果是:[object Object]

JQuery对象的本质是什么?

JQuery对象是dom对象的数组+jQuery提供的一系列功能函数

Dom对象和jQuery对象互转

1、dom对象转化为jQuery对象

  • 先有dom对象
  • $(DOM对象)就可以转换成jQuery对象

2、jQuery对象转化为dom对象

  • 先有jQuery对象
  • 通过jQuery对象的下标取出dom对象
<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <!--引入jQuery库-->
    <script type="text/javascript" src="../lib/jquery-1.7.2.js"></script>
    <script type="text/javascript">

        $(function(){
            $("#bt").click(function(){
            //    $("#ha").css({"color":"red","background-color":"green"});
                $("#ha").css("color","red");
            });
        });
    </script>
    </head>
    <body>
        <div id="ha">hahaha</div>
        <button id="bt">点一下试试</button>
    </body>
</html>

层级选择器

  1. ancestor descendant

    在给定的祖先元素下匹配所有的后代元素

    $("form input")

    含义:匹配form元素下的所有input元素

  2. parent > child

    在给定的父元素下匹配所有的子元素

    $("form > input")

    含义:匹配form元素的直接子元素input

  3. prev + next

    匹配所有紧接在prev元素后的next元素

    $("label + input")

    含义:匹配紧接在label后的input元素

  4. prev ~ siblings

    匹配prev元素后的所有siblings元素

    $("form ~ input")

    含义:匹配form元素后的所有input元素

基本过滤选择器

  • :first

    获取第一个元素

    $("li:first")

  • :last

    获取最后一个元素

    $("li:last")

  • :not(selector)

    去除所有与给定选择器匹配的元素

    $("input:not(:checked)")

    含义:查找所有未选中的input元素

  • :even

    匹配所有索引值为偶数的元素,从0开始计数

    $("tr:even")

    含义:查找表格的1、3、5…行(即索引值0、2、4)

  • :odd

    匹配所有索引值为奇数的元素,从0开始计数

    $("tr:odd")

  • :eq(index)

    匹配一个给定索引值的元素,索引值从0开始计数

    $("tr:eq(1)")

    含义:查找第二行

  • :gt(index)

    匹配所有大于给定索引值的元素

  • :lt(index)

    匹配所有小于给定索引值的元素

  • :header

    匹配标题元素

  • :animated

    匹配当前正在执行动画的所有元素

内容过滤选择器

  • contains(text)

    匹配包含给定文本的元素

  • :empty

    匹配所有不包含子元素或者文本的空元素

  • :parent

    匹配含有子元素或者文本的元素

  • :has(selector)

    匹配含有选择器所匹配的元素的元素

    $("div:has(p)")

    含义:匹配含有p的div

属性选择器

  • [attribute]

    匹配包含给定属性的元素

    $("div[id]")

    含义:查找所有含有id属性的div元素

  • [attribute=value]

    匹配给定的属性是某个特定值的元素

    $("input[name='newsletter']")

    含义:查找所有name属性是newsletter的input元素

  • [attribute!=value]

    匹配所有不含有指定的属性的元素,或者匹配属性不等于特定值的元素。

    $("input[name!='newsletter']")

    含义:查找所有name属性不是newsletter的input元素,并且查找没有name属性的input元素

  • [attribute^=value]

    匹配给定的属性是以某些值开始的元素

    $("input[name^='news']")

    含义:查找所有name以news开始的input元素

  • [attribute$=value]

    匹配给定的属性是以某些值结尾的元素

    $("input[name$='letter']")

    含义:查找所有name以letter结尾的input元素

  • [attribute*=value]

    匹配给定的属性是以包含某些值的元素

    $("input[name*='man']")

    含义:查找所有name包含man的input元素

  • [selector1] [selector2] [selectorN]

    复合属性选择器,需要同时满足多个条件时使用

    $("input[id][name$='man']")

    找到所有含有id属性,并且它的name属性是以man结尾的input元素

posted @ 2021-04-11 10:57  ice--cream  阅读(41)  评论(0编辑  收藏  举报