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