jQuery常用操作

jQuery

  jQuery是一个轻量级的JS库,是一个被封装好的JS文件,提供了更为简便的元素操作方式,jQuery封装了DOM。

 

使用jQuery

引入jQuery文件

  <scrtipt src='jquery-1.11.3.js'> </script>

  注意:引入必须放在其他jQuery操作之前。

 

jQuery对象

  jQuery对象是由jQuery对页面元素进行封装后的一种体现

  jQuery中所提供的所有操作都只针对jQuery对象,其他对象(DOM)无法使用

 

工厂函数  --  $()

  想要获取jQuery对象,则必须使用工厂函数$()

  在$()中允许传递一个选择器/DOM对象作为参数,$()能够将选择器和DOM对象全部封装成jQuery对象再进行返回

例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery演示</title>
</head>
<body>
    <div id="main">
        id是mian的div元素
    </div>
<button onclick="bClick()">获取元素</button>
    <script src="jquery-1.11.3.js"></script>
    <script>
        function bClick() {
            //通过jquery选择器获取id='main'的元素
            var m = $("#main");
            //设置元素的内容
            m.html('动态设置的值');
            console.log(m)
        }
    </script>
</body>
</html>

 

DOM对象和jQuery对象之间的转换

  DOM对象不能使用jQuery提供的操作,反之同样。

  1、将DOM对象转换为jQuery对象

    语法:var 变量 = $(DOM对象);

    注意:所有的jQuery对象在起名的时候,最好在变量前加$,主要用于和DOM对象的区分

    例:

    

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="main">
        这是div元素
    </div>
    <button onclick="bClick()">DOM - jQuery</button>
    <script src="jquery-1.11.3.js"></script>
    <script>
        function bClick() {
            // 通过DOM的操作,得到id为main的元素
            var main = document.getElementById('main');
            // 再将其转换为jQuery对象
            var $main = $(main);
            $main.html('转换为JQ对象成功!')
        }
    </script>
</body>
</html>

  2、将jquery对象转换为DOM对象

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="main">
        这是div元素
    </div>
    <button onclick="JQtoDom()">jQuery-DOM</button>
    <script src="jquery-1.11.3.js"></script>
    <script>
        function JQtoDom() {
            // 使用jquery得到id为main的元素
            var $main = $("#main");
            // 再将其转换为DOM对象
            // var m = $main[0];
            var m = $main.get(0);
            m.innerHTML = '转换为DOM对象成功!'
        }
    </script>
</body>
</html>

 

jQuery选择器

 

作用

  获取页面上的元素们,返回值都是由jQuery对象所组成的数组

  语法:$("选择器")

基本选择器

1、ID选择器

  $("#id");

  返回:返回页面中指定ID值的元素

2、类选择器

  $(".className")

  返回:页面中指定className的所有元素

3、元素选择器

  $("element")

  返回:页面中指定标记的所有元素

4、群组选择器 / 复合选择器

  $("selector1,selector2,...")

  返回:返回满足函数内所有选择器的函数们

 


层级选择器

1、$("selector1 selector2")

  后代选择器

2、$("selector1>selector2")

  子代选择器
3、$("selector1+selector2")

  名称:相邻兄弟选择器

  作用:匹配紧紧跟在selector1后面且满足selector2选择器的元素

  例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="main">
        <p id="p1">这是id为p1的元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
    </div>
    <button onclick="bNB()">相邻兄弟选择器</button>
    <script src="jquery-1.11.3.js"></script>
    <script>
        function bNB() {
            $("#p1+p").css('background', 'yellow');
        }
    </script>

</body>
</html>

4、$("selector1~selector2")

  名称:通用兄弟选择器

  作用:匹配selector1后面所有满足selector2选择器的元素

  例:

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="main">
        <p id="p1">这是id为p1的元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
        <p>这是普通元素</p>
    </div>
    <button onclick="bNB()">通用兄弟选择器</button>
    <script src="jquery-1.11.3.js"></script>
    <script>
        function bNB() {
            $("#p1~p").css('color', 'red');
        }
    </script>
</body>
</html>

 

基本过滤选择器

  过滤选择器通常都会配合着其他的选择器一起使用

1、:first

  只匹配一组元素中的第一个元素

  $("p:first")

2、:last

  只匹配一组元素中的最后一个元素

3、:not("selector")

  在一组元素中,将满足selector选择器的元素排除出去

4、:odd

  匹配 偶数行 元素(奇数下标)

5、:even

  匹配 奇数行 元素(偶数下标)

6、:eq(index) -- equals

  匹配 下标等于 index 的元素

7、:gt(index)

  匹配 下标大于 index 的元素

8、:lt(index)

  匹配 下标小于 index 的元素

 

属性过滤选择器

  依托于html元素的属性来进行元素过滤的
1、[attribute]

  作用:匹配包含指定属性的元素

  ex:

  div[id]:匹配具备id属性的div元素

2、[attribute=value]

  作用:匹配attribute属性值为value的元素

  ex:

    input[type=text]

    input[type=password]

3、[attribute!=value]

  作用:匹配attribute属性值不是value的元素

4、[attribute^=value]

  作用:匹配attribute属性值是以value字符开头的元素

  ex:

    p[class^=col]

5、[attribute$=value]
  作用:匹配attribute属性值是以value字符结尾的元素

6、[attribute*=value]

  作用:匹配attribute属性值中包含value字符的元素

 


子元素过滤选择器

1、:first-child

  匹配属于其父元素中的首个子元素

2、:last-child

  匹配属于其父元素中的最后一个子元素

3、:nth-child(n)

  匹配属于其父元素中第n个子元素

4、jQuery操作DOM

  基本操作
  1、html()
    作用:获取 或 设置 jQuery对象中的html内容
    ex:
      console.log($("#main").html());
      $("#main").html("");

  2、text()

    作用:获取 或 设置 jQuery对象中的text内容

  3、val()

    作用:获取 或 设置 jQuery对象中的value值(表单控件)

  4、属性操作

    attr()

    作用:读取 或 设置jQuery对象的属性值

    ex:

      $obj.attr("id");

      获取 $obj 的id属性值

      $obj.attr("id","main");

       设置$obj对象的id属性值为main

    removeAttr("attrName")

     删除jQuery对象的attrName属性

     ex:

      $obj.removeAttr("class");

2、样式操作

  1、attr()

    $obj.attr("class","redBack");

  2、addClass("className")

    作用:将className 添加到元素的class值之后

    ex:

      $obj = $obj.addClass("c1");

      $obj = $obj.addClass("c2");

      连缀调用:

        $obj.addClass("c1").addClass("c2");

  3、removeClass("className")

    如果无参的话,则清空类选择器

    如果有参数的话,则删除对应的类选择器

    ex:

      $obj.removeClass("c1")

      将c1类选择器从$obj移除出去

      $obj.removeClass()

      清空$obj的所有类选择器

  4、toggleClass("className")

  切换样式:

    元素如果具备className选择器,则删除

    元素如果没有className选择器,则添加

  5、css("属性名")

    $obj.css("width");

    获取$obj对象的width属性值

  6、css("属性名","属性值")

    $obj.css("background-color","yellow");

    设置$obj对象的background-color的属性值为yellow

  7、css(JSON对象)

    JSON对象:

    是一种约束了格式的对象表现形式

    JSON:JavaScript Object Notation

    JSON对象的表示方式:

      1、JSON对象必须使用{}括起来

      2、使用键值对的方式来声明数据(表示属性和值)

      3、所有的属性在使用时必须使用""括起来,值如果是字符串的话,也必须使用""括起来

      4、属性和值之间使用:连接

      5、多对属性和值之间使用 , 隔开

      ex:

      $obj.css({

        "color":"red",

        "font-size":"32px",

        "float":"left"

        });

 

遍历节点

 

1、children() / children("selector")

  获取某jQuery对象的所有子元素 或 带有指定选择器的子元素

  注意:只考虑子代元素,不考虑后代元素

2、next() / next("selector")

  获取某jQuery对象的下一个兄弟元素 / 满足selector的下一个兄弟元素

3、prev() / prev("selector")

  获取某jQuery对象的上一个兄弟元素 / 满足selector的上一个兄弟元素

4、siblings() / siblings(selector)

  获取某jQuery对象的所有兄弟元素 / 满足selector的所有兄弟元素

5、find("selector")

  查找满足selector选择器的所有后代元素

6、parent()

  查找某jQuery对象的父元素

 

创建对象   

语法:$("创建的标记")

ex:
  1、创建一对div

    var $div = $("<div></div>");

    $div.html("动态创建的div");

    $div.attr("id","container")

    $div.css("color","red");

  2、创建一对div

    var $div = $("<div id='container' style='color:red;'>动态创建的div</div>");

插入元素

  作用:将创建好的元素插入到网页中
  1、内部插入
    作为元素的子元素插入到网页中
    $obj.append($new);
    将$new元素插入到$obj元素中的最后一个子元素位置处(追加)
    $obj.prepend($new);
    将$new元素插入到$obj元素中的第一个子元素位置处
  2、外部插入
    作为元素的兄弟元素插入到网页中
    $obj.after($new);
    将$new元素作为$obj的下一个兄弟元素插入进来
    $obj.before($new);
    将$new元素作为$obj的上一个兄弟元素插入进来

 

删除元素

$obj.remove();
  将$obj元素删除出去


jQuery中的事件处理

 

 

1、页面加载后的执行

  类似于window.onload 但不同于 window.onload

  jQuery加载后执行的特点:

  在DOM树加载完毕的时候就开始执行

    $(document).ready( function(){

    //页面的初始化操作

    //DOM树加载完成后就开始运行

    } );


    $().ready( function(){

    //页面的初始化操作

    //DOM树加载完成后就开始运行

    } );


    $( function(){

    //页面的初始化操作

    //DOM树加载完成后就开始运行

    } );

 

2、jQuery的事件绑定

方式1

$obj.bind("事件名称",事件处理函数);

ex:

  $obj.bind("click",function(){

  //事件的行为操作

  console.log("... ....");

  });

 

方式2

  $obj.事件名称(function(){

  //事件处理函数
  });

  ex:
    $obj.click(function(){
    //通过 this 来表示触发该事件的DOM对象
    });


3、事件对象 - event


在绑定事件的时候,允许传递 event 参数来表示事件对象

  $obj.bind("click",function(event){
  //event表示当前事件的事件对象
  });

  $obj.click(function(event){
  //event表示当前事件的事件对象
  });

  event的使用方式与原生JS事件中的event使用方式一致。
  event.stopPropagation() : 阻止事件冒泡
  event.offsetX:
  event.offsetY:
  event.target:获取事件源

 

jQuery 动画

1、基本显示 / 隐藏

 

语法:

  $obj.show() / $obj.show(执行时间)

  $obj.hide() / $obj.hide(执行时间)

2、滑动式显示 / 隐藏

语法:

  显示:$obj.slideDown() / $obj.slideDown(执行时间)

  隐藏:$obj.slideUp() / $obj.slideUp(执行时间)

3、淡入淡出式显示 / 隐藏

语法:

  显示:$obj.fadeIn() / $obj.fadeIn(执行时间)

  隐藏:$obj.fadeOut() / $obj.fadeOut(执行时间)

posted @ 2018-08-03 08:57  冬雪雪冬-  阅读(490)  评论(0编辑  收藏  举报