知识预览

回到顶部

一 jQuery是什么? 

[1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。

[2]   jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

[3]  它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

[4]  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

[5]  jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

回到顶部

二 什么是jQuery对象?

jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的方法: $(“#test”).html();

三丶前端基础之jquery 随笔 第1张
$("#test").html() 
意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用DOM实现代码: document.getElementById(" test ").innerHTML; 虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错 约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable = jQuery 对象 var variable = DOM 对象 $variable[0]:jquery对象转为dom对象 $("#msg").html(); $("#msg")[0].innerHTML
三丶前端基础之jquery 随笔 第2张

 jquery的基础语法:$(selector).action()     

 参考:http://jquery.cuishifeng.cn/

回到顶部

三 寻找元素(选择器和筛选器) 

3.1   选择器

3.1.1 基本选择器      

1 $( "*" )  $( "#id" )   $( ".class" )  $( "element" )  $( ".class,p,div" )

3.1.2 层级选择器   

1 $( ".outer div" )  $( ".outer>div" )   $( ".outer+div" )  $( ".outer~div" )

3.1.3 基本筛选器  

1 $( "li:first" )  $( "li:eq(2)" )  $( "li:even" ) $( "li:gt(1)" )

3.1.4 属性选择器

1 $( '[id="div1"]' )   $( '["alex="sb"][id]' )

3.1.5 表单选择器      

1 $( "[type='text']" ) - - - - - >$( ":text" )         注意只适用于 input 标签  : $( "input:checked" )

3.1.6 表单属性选择器

    :enabled
    :disabled
    :checked
    :selected
三丶前端基础之jquery 随笔 第3张  View Code

3.2 筛选器

3.2.1  过滤筛选器    

1 $( "li" ).eq( 2 )  $( "li" ).first()  $( "ul li" ).hasclass( "test" )

3.2.2  查找筛选器  

三丶前端基础之jquery 随笔 第4张
 查找子标签:         $("div").children(".test")      $("div").find(".test")  
                               
 向下查找兄弟标签:    $(".test").next()               $(".test").nextAll()     
$(".test").nextUntil() 向上查找兄弟标签: $("div").prev() $("div").prevAll()
$("div").prevUntil() 查找所有兄弟标签: $("div").siblings()
查找父标签: $(".test").parent() $(".test").parents()
$(".test").parentUntil()
三丶前端基础之jquery 随笔 第5张 回到顶部

四 操作元素(属性,css,文档处理)

4.1 事件

页面载入

1 2 ready(fn)   // 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。 $(document).ready( function (){}) -----------> $( function (){})  

事件绑定

//语法:  标签对象.事件(函数)    
eg: $("p").click(function(){})

事件委派:

$("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数。
三丶前端基础之jquery 随笔 第6张
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<hr>
<button id="add_li">Add_li</button>
<button id="off">off</button>

<script src="jquery.min.js"></script>
<script>
    $("ul li").click(function(){
        alert(123)
    });

    $("#add_li").click(function(){
        var $ele=$("<li>");
        $ele.text(Math.round(Math.random()*10));
        $("ul").append($ele)

    });


//    $("ul").on("click","li",function(){
//        alert(456)
//    })

     $("#off").click(function(){
         $("ul li").off()
     })
    
</script>
三丶前端基础之jquery 随笔 第7张

事件切换

hover事件:

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。

over:鼠标移到元素上要触发的函数

out:鼠标移出元素要触发的函数

三丶前端基础之jquery 随笔 第8张  View Code

4.2 属性操作

三丶前端基础之jquery 随笔 第9张
--------------------------CSS类
$("").addClass(class|fn)
$("").removeClass([class|fn])
--------------------------属性 $("").attr(); $("").removeAttr(); $("").prop(); $("").removeProp();
--------------------------HTML代码/文本/值 $("").html([val|fn]) $("").text([val|fn]) $("").val([val|fn|arr])
--------------------------- $("#c1").css({"color":"red","fontSize":"35px"})
三丶前端基础之jquery 随笔 第10张

attr方法使用:

三丶前端基础之jquery 随笔 第11张  View Code

4.3 each循环

我们知道,

1 $( "p" ).css( "color" , "red" )  

是将css操作加到所有的标签上,内部维持一个循环;但如果对于选中标签进行不同处理,这时就需要对所有标签数组进行循环遍历啦

jquery支持两种循环方式:

方式一

格式:$.each(obj,fn)

li=[10,20,30,40];
dic={name:"yuan",sex:"male"};
$.each(li,function(i,x){
    console.log(i,x)
});

方式二

格式:$("").each(fn)

$("tr").each(function(){
    console.log($(this).html())
})

其中,$(this)代指当前循环标签。

each扩展

三丶前端基础之jquery 随笔 第12张  View Code

4.4 文档节点处理

三丶前端基础之jquery 随笔 第13张
//创建一个标签对象
    $("<p>")


//内部插入

    $("").append(content|fn)      ----->$("p").append("<b>Hello</b>");
    $("").appendTo(content)       ----->$("p").appendTo("div");
    $("").prepend(content|fn)     ----->$("p").prepend("<b>Hello</b>");
    $("").prependTo(content)      ----->$("p").prependTo("#foo");

//外部插入

    $("").after(content|fn)       ----->$("p").after("<b>Hello</b>");
    $("").before(content|fn)      ----->$("p").before("<b>Hello</b>");
    $("").insertAfter(content)    ----->$("p").insertAfter("#foo");
    $("").insertBefore(content)   ----->$("p").insertBefore("#foo");

//替换
    $("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>");

//删除

    $("").empty()
    $("").remove([expr])

//复制

    $("").clone([Even[,deepEven]])
三丶前端基础之jquery 随笔 第14张

4.5 动画效果

显示隐藏

三丶前端基础之jquery 随笔 第15张  View Code

滑动

三丶前端基础之jquery 随笔 第16张  View Code

淡入淡出

三丶前端基础之jquery 随笔 第17张  View Code

回调函数

三丶前端基础之jquery 随笔 第18张  View Code

4.6 css操作

css位置操作

        $("").offset([coordinates])
        $("").position()
        $("").scrollTop([val])
        $("").scrollLeft([val])

示例1:

三丶前端基础之jquery 随笔 第19张  View Code

示例2:

三丶前端基础之jquery 随笔 第20张  View Code

示例3:

三丶前端基础之jquery 随笔 第21张  View Code

尺寸操作

        $("").height([val|fn])
        $("").width([val|fn])
        $("").innerHeight()
        $("").innerWidth()
        $("").outerHeight([soptions])
        $("").outerWidth([options])

示例:

三丶前端基础之jquery 随笔 第22张  View Code 回到顶部

扩展方法 (插件机制)

jQuery.extend(object)

扩展jQuery对象本身。

用来在jQuery命名空间上增加新函数。 

在jQuery命名空间上增加两个函数:

三丶前端基础之jquery 随笔 第23张
<script>
    jQuery.extend({
      min: function(a, b) { return a < b ? a : b; },
      max: function(a, b) { return a > b ? a : b; }
});


    jQuery.min(2,3); // => 2
    jQuery.max(4,5); // => 5
</script>
三丶前端基础之jquery 随笔 第24张

jQuery.fn.extend(object)

扩展 jQuery 元素集来提供新的方法(通常用来制作插件)

增加两个插件方法:

三丶前端基础之jquery 随笔 第25张
<body>

<input type="checkbox">
<input type="checkbox">
<input type="checkbox">

<script src="jquery.min.js"></script>
<script>
    jQuery.fn.extend({
      check: function() {
         $(this).attr("checked",true);
      },
      uncheck: function() {
         $(this).attr("checked",false);
      }
    });


    $(":checkbox:gt(0)").check()
</script>

</body>
三丶前端基础之jquery 随笔 第26张  , 回到顶部

一 jQuery是什么? 

[1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。

[2]   jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!

[3]  它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

[4]  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

[5]  jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

回到顶部

二 什么是jQuery对象?

jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的方法: $(“#test”).html();

三丶前端基础之jquery 随笔 第27张
$("#test").html() 
意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用DOM实现代码: document.getElementById(" test ").innerHTML; 虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错 约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable = jQuery 对象 var variable = DOM 对象 $variable[0]:jquery对象转为dom对象 $("#msg").html(); $("#msg")[0].innerHTML
三丶前端基础之jquery 随笔 第28张

 jquery的基础语法:$(selector).action()     

 参考:http://jquery.cuishifeng.cn/

回到顶部

三 寻找元素(选择器和筛选器) 

3.1   选择器

3.1.1 基本选择器      

1 $( "*" )  $( "#id" )   $( ".class" )  $( "element" )  $( ".class,p,div" )

3.1.2 层级选择器   

1 $( ".outer div" )  $( ".outer>div" )   $( ".outer+div" )  $( ".outer~div" )

3.1.3 基本筛选器  

1 $( "li:first" )  $( "li:eq(2)" )  $( "li:even" ) $( "li:gt(1)" )

3.1.4 属性选择器

1 $( '[id="div1"]' )   $( '["alex="sb"][id]' )

3.1.5 表单选择器      

1 $( "[type='text']" ) - - - - - >$( ":text" )         注意只适用于 input 标签  : $( "input:checked" )

3.1.6 表单属性选择器

    :enabled
    :disabled
    :checked
    :selected
三丶前端基础之jquery 随笔 第29张  View Code

3.2 筛选器

3.2.1  过滤筛选器    

1 $( "li" ).eq( 2 )  $( "li" ).first()  $( "ul li" ).hasclass( "test" )

3.2.2  查找筛选器  

三丶前端基础之jquery 随笔 第30张
 查找子标签:         $("div").children(".test")      $("div").find(".test")  
                               
 向下查找兄弟标签:    $(".test").next()               $(".test").nextAll()     
$(".test").nextUntil() 向上查找兄弟标签: $("div").prev() $("div").prevAll()
$("div").prevUntil() 查找所有兄弟标签: $("div").siblings()
查找父标签: $(".test").parent() $(".test").parents()
$(".test").parentUntil()
三丶前端基础之jquery 随笔 第31张 回到顶部

四 操作元素(属性,css,文档处理)

4.1 事件

页面载入

1 2 ready(fn)   // 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。 $(document).ready( function (){}) -----------> $( function (){})  

事件绑定

//语法:  标签对象.事件(函数)    
eg: $("p").click(function(){})

事件委派:

$("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数。
三丶前端基础之jquery 随笔 第32张
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<hr>
<button id="add_li">Add_li</button>
<button id="off">off</button>

<script src="jquery.min.js"></script>
<script>
    $("ul li").click(function(){
        alert(123)
    });

    $("#add_li").click(function(){
        var $ele=$("<li>");
        $ele.text(Math.round(Math.random()*10));
        $("ul").append($ele)

    });


//    $("ul").on("click","li",function(){
//        alert(456)
//    })

     $("#off").click(function(){
         $("ul li").off()
     })
    
</script>
三丶前端基础之jquery 随笔 第33张

事件切换

hover事件:

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。

over:鼠标移到元素上要触发的函数

out:鼠标移出元素要触发的函数

三丶前端基础之jquery 随笔 第34张  View Code

4.2 属性操作

三丶前端基础之jquery 随笔 第35张
--------------------------CSS类
$("").addClass(class|fn)
$("").removeClass([class|fn])
--------------------------属性 $("").attr(); $("").removeAttr(); $("").prop(); $("").removeProp();
--------------------------HTML代码/文本/值 $("").html([val|fn]) $("").text([val|fn]) $("").val([val|fn|arr])
--------------------------- $("#c1").css({"color":"red","fontSize":"35px"})
三丶前端基础之jquery 随笔 第36张

attr方法使用:

三丶前端基础之jquery 随笔 第37张  View Code

4.3 each循环

我们知道,

1 $( "p" ).css( "color" , "red" )  

是将css操作加到所有的标签上,内部维持一个循环;但如果对于选中标签进行不同处理,这时就需要对所有标签数组进行循环遍历啦

jquery支持两种循环方式:

方式一

格式:$.each(obj,fn)

li=[10,20,30,40];
dic={name:"yuan",sex:"male"};
$.each(li,function(i,x){
    console.log(i,x)
});

方式二

格式:$("").each(fn)

$("tr").each(function(){
    console.log($(this).html())
})

其中,$(this)代指当前循环标签。

each扩展

三丶前端基础之jquery 随笔 第38张  View Code

4.4 文档节点处理

三丶前端基础之jquery 随笔 第39张
//创建一个标签对象
    $("<p>")


//内部插入

    $("").append(content|fn)      ----->$("p").append("<b>Hello</b>");
    $("").appendTo(content)       ----->$("p").appendTo("div");
    $("").prepend(content|fn)     ----->$("p").prepend("<b>Hello</b>");
    $("").prependTo(content)      ----->$("p").prependTo("#foo");

//外部插入

    $("").after(content|fn)       ----->$("p").after("<b>Hello</b>");
    $("").before(content|fn)      ----->$("p").before("<b>Hello</b>");
    $("").insertAfter(content)    ----->$("p").insertAfter("#foo");
    $("").insertBefore(content)   ----->$("p").insertBefore("#foo");

//替换
    $("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>");

//删除

    $("").empty()
    $("").remove([expr])

//复制

    $("").clone([Even[,deepEven]])
三丶前端基础之jquery 随笔 第40张

4.5 动画效果

显示隐藏

三丶前端基础之jquery 随笔 第41张  View Code

滑动

三丶前端基础之jquery 随笔 第42张  View Code

淡入淡出

三丶前端基础之jquery 随笔 第43张  View Code

回调函数

三丶前端基础之jquery 随笔 第44张  View Code

4.6 css操作

css位置操作

        $("").offset([coordinates])
        $("").position()
        $("").scrollTop([val])
        $("").scrollLeft([val])

示例1:

三丶前端基础之jquery 随笔 第45张  View Code

示例2:

三丶前端基础之jquery 随笔 第46张  View Code

示例3:

三丶前端基础之jquery 随笔 第47张  View Code

尺寸操作

        $("").height([val|fn])
        $("").width([val|fn])
        $("").innerHeight()
        $("").innerWidth()
        $("").outerHeight([soptions])
        $("").outerWidth([options])

示例:

三丶前端基础之jquery 随笔 第48张  View Code 回到顶部

扩展方法 (插件机制)

jQuery.extend(object)

扩展jQuery对象本身。

用来在jQuery命名空间上增加新函数。 

在jQuery命名空间上增加两个函数:

三丶前端基础之jquery 随笔 第49张
<script>
    jQuery.extend({
      min: function(a, b) { return a < b ? a : b; },
      max: function(a, b) { return a > b ? a : b; }
});


    jQuery.min(2,3); // => 2
    jQuery.max(4,5); // => 5
</script>
三丶前端基础之jquery 随笔 第50张

jQuery.fn.extend(object)

扩展 jQuery 元素集来提供新的方法(通常用来制作插件)

增加两个插件方法:

三丶前端基础之jquery 随笔 第51张
<body>

<input type="checkbox">
<input type="checkbox">
<input type="checkbox">

<script src="jquery.min.js"></script>
<script>
    jQuery.fn.extend({
      check: function() {
         $(this).attr("checked",true);
      },
      uncheck: function() {
         $(this).attr("checked",false);
      }
    });


    $(":checkbox:gt(0)").check()
</script>

</body>
三丶前端基础之jquery 随笔 第52张
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄