认识jQuery

JavaScript程序封装了很多预定义的对象和实用函数,能帮助使用者轻松地建立有高难度交互的Web2.0特性的富客户端页面,并且兼容各大浏览器。

jQuery的优势:

①轻量级

②强大的选择器:jQuery允许开发者使用从css1到css3几乎所有的选择器,以及jQuery独创的高级而复杂的选择器。

③出色的DOM操作的封装。

④可靠的事件处理机制

⑤完善的Ajax。jQuery将所有的Ajax操作封装到一个函数$.ajax()里,使得开发者处理Ajax的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和XMLHTTPRequest对象的创建和实用的问题。

⑥不污染顶级变量。jQuery只建立一个名为jQuery的对象,其所有的函数方法都在这个对象之下。

⑦出色的浏览器兼容性。作为一个流行的JavaScript库,浏览器的兼容性是必须具备的条件之一。jQuery能够在IE6.0+、FF3.6+、Safari 5.0+、Opera和Chrome等浏览器下正常运行。

⑧链式操作方式。对发生在同一个jQuery对象上的一组动作,可以直接连写而无需重复获取对象。

⑨隐式迭代。当用jQuery找到带有“.myClass”类的全部元素,然后隐藏它们时,无需循环遍历每一个返回的元素。

10、行为层与结构层的分离。开发者可以使用jQuery选择器选中元素,然后直接给元素添加事件。

11、丰富的插件支持。

12、完善的文档。

13、开源

jQuery提供两种方法将jquery对象转换为DOM对象:即[index]和get(index)

[index]方法:

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

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

get[index]方法:

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

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

DOM对象转换为jquery对象

对于DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。

var cr=document.getElementById("cr");

var $cr=$(cr);

DOM对象才能使用DOM中的方法,jQuery对象不可以使用DOM中的方法,但是jQuery对象提供了一套更加完善的工作用于操作DOM。

平时用到的jQuery对象都是通过$()函数制造出来的,$()函数就是一个jQuery对象的制造工厂。

jQuery选择器:利用jQuery选择器可以非常便捷和快速的找出特定的DOM元素,然后为它们添加相应的行为。

jQuery的行为规则都必须在获取到元素后才能生效。

jQuery获取到元素的代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="styles/style.css">
</head>
<body>
    <div class="one" id="one">
        id为one,class为one的div
        <div class="mini">class为mini的div</div>
    </div>

    <div class="one" id="two" title="test">
        id为two,class为one,title为test的div
        <div class="mini" title="other">class为mini,title为other的div</div>
        <div class="mini" title="test">class为mini,title为test的div</div>
    </div>

    <div class="one">
        <div class="mini">class为mini的div</div>
        <div class="mini">class为mini的div</div>
        <div class="mini">class为mini的div</div>
        <div class="mini"></div>
    </div>

    <div class="one">
        <div class="mini">class为mini的div</div>
        <div class="mini">class为mini的div</div>
        <div class="mini">class为mini的div</div>
        <div class="mini" title="tesst">class为mini,title为tesst的div</div>
    </div>

    <div style="display: none" class="none">style的display为none的div</div>

    <div class="hide">class为hide的div</div>
    <div>包含input的type为“hidden”的div <input type="hidden" size="8"></div>
    <span id="mover">正在执行动画的</span>
</body>
</html>

div,span,p{
     140px;
    height: 140px;
    margin: 5px;
    background:#aaa;
    border:#000 1px solid;
    float: left;
    font-size: 17px;
    font-family: Verdana;
}

div.mini{
     55px;
    height: 55px;
    background-color: #aaa;
    font-size:12px;
}

div.hide{
    display: none;
}

$(".demo").click(function(){ ……})

$("#id")   document.getElementById()
$(".tagName") document.getElementByTagName()

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

因此,使用jQuery检查某个元素在网页上是否存在的时候,应该根据获取到元素的长度来判断。

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

//do something

}

或者转化成DOM对象来判断,代码如下:

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

//do something

})

jQuery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器。

CSS选择器找到元素后添加样式,而jQuery选择器找到元素后添加行为

$('#tt)获取的永远是对象,即使网页上没有此元素。因此当要用jQuery检查某个元素在网页上是否存在时,应该根据获取到元素的长度来判断,代码如下:

if($("#tt").length>0){
//do something
}

 或者转化为DOM对象来判断,代码如下:

if($("#tt")[0]){
//do something
}

 jQuery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器。

//选取#prev之后的所有同辈div元素
$("#prev~div").css("background","#bbffaa");

//选取#prev所有的同辈div元素,无论前后位置
$("#prev").siblings("div").css("background","#bbffaa")

 过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素。

过滤选择器分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器。

eq(index)只匹配一个元素,而:nth-child将为每一个符合条件的父元素匹配子元素。

nth-child(index)的index是从1开始的,而:eq(index)是从0开始的。

选择器中含有空格的注意事项:

var $t_a=$('.test :hidden');//选取class为test的元素里面的隐藏内容
var $t_b=$('.test:hidden');//选取隐藏的class为test的元素
原文地址:https://www.cnblogs.com/yuanxinru321/p/6683222.html