一、jQuery简介
JQ是JS的一个优秀的库,大型开发必备。在此,我想说的是,JQ里面很多函数使用和JS类似,所以学好JS再学习JQ很容易,其次也不要因为会使用JQ而不学习JS,JQ只是一个辅助工具。
详细学习请访问
二、JQ的好处
1.简化JS 的复杂操作
2.不再需要关心兼容性
3.提供大量的实用方法
三、设计思想
1.选择网页元素
A.模拟css选择元素
$('#div1')
对于数组可省略循环
B.独有表达式选择
$('div'):eq(2)  //表示该组div中第三个div
$('div'):odd()   //表示该组中为偶数的div
$('div'):even()  //表示改组中为奇数的div 
C.多种筛选方法
$('li').filter('.box').css('background','red') ;
//选出多组li中css名为.box的那个li,将它的背景颜色设为红色
$('li').filter('[title = hello]').css('background','red');
//选出多个li中title为hello的li,并将它的背景颜色设为红色
2.JQ写法
A.方法函数化
window.onload = function(){};  //js写法
$(function(){});  //JQ写法
function $(){}  //假装有一个$函数
innerHTML = 123;  //对于innerHTML同样理解
html(123)
function html(){}
onclick = function(){};  //对于onclick函数同样
click(function(){})
function click(){}
下面将一段js代码,用jq表示出来
window.onload = function(){    //js代码
    var oDiv = document.getElementById('div1');
    
    oDiv.onclick = function(){
        alert( this.innerHTML );
    };
    
};
$(function(){    //JQ代码
    
    //var oDiv = $('#div1');
    
    $('#div1').click(function(){   
       //此处若没有注释上一句,则可以写成oDiv.click(function(){
        
        alert( $(this).html() );
        
    });
    
});
注意:传参为函数调用,调用带上括号
B.原生关系和链式操作
在jq中可以纯js写法,也可以纯jq写法,但是不要两者混着用
$('#div1').click(function(){
        
        alert( $(this).html() );  //jq的写法
        alert( this.innerHTML );  //js的写法
        alert( $(this).innerHTML );  //错误的
        alert( this.html() );  //错误的
            
    });
jq中可以将多个事件写在一个后面 == 链式操作
var oDiv = $('#div1');
    
    oDiv.html('hello');
    
    oDiv.css('background','red');
    
    oDiv.click(function(){
        alert(123);
    });
$('#div1').html('hello').css('background','red').click(function(){
        alert(123);
    });
这两段代码是相同的
C.取值赋值合体
js中的取值赋值:
oDiv.innerHTML = 'hello';  //赋值
    
alert( oDiv.innerHTML );  //取值
jq中的取值赋值:
$('#div1').html('hello');  //赋值
    
alert( $('#div1').html() ); //取值
注意:
1.当一组元素的时候,取值是一组中的第一个
2. 当一组元素的时候,赋值是一组中的所有元素
attr()可设置属性,可获取属性
alert($('div').attr('title'));  //获取title属性
//设置属性  
$('div').attr('title','456');
$('div').attr('class','box');