jQuery-认识JQuery,jQuery选择器

时间:2023-02-02 13:35:38

认识JQuery:

1、window.onload与$(document).ready()的区别

window.onload

$(document).ready()

执行时机

必须等待网页中的所有内容加载完毕后才能执行

网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有完全加载完

编写个数

不能同时编写多个方法

可以同时编写多个

简化写法

$(document).ready(function(){

//…

})

2、jQuery对象以及DOM对象

jQuery:

$(”#foo”).html( );  //获取id为foo的元素内的html代码,html( )是jQuery里的方法

在DOM中,

document.getElementById("foo").innerHTML;

3、

获取jQuery对象 : var  $variable = jQuery对象

获取DOM对象 : var variable = DOM对象

4、jQuery对象不能使用DOM中的方法,要将转为DOM对象才可以使用 [index] , get(index)

jQuery是一个类似于数组的对象,可以通过[index]的方法得到相应的DOM对象

方法1:

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

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

alert(cr.checked)  //检测这个checkbox是否被选中

方法2:

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

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

alert(cr.chencked);

5、DOM对象转化为jQuery对象:只要用$()将DOM对象包起来就可以得到一个jQuery对象

jQuery代码:

var cr = document.getElementById("cr");  //DOM对象

var $cr = $(cr)    //jQuery对象

6、

$(document).ready(function(){

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

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

$cr.click(function(){

if(cr.checked){      //DOM判断

alert("感谢你的支持,你可以继续操作");

}

})

})

$(document).ready(function(){

var $cr = $("$cr");    // jQuery对象

$cr.click(function(){

if($cr.is(":checked")){     //jQuerry判断

alert("感谢你的支持,你可以继续操作");

}

})

})

jQuery选择器:

1、<p class="demo"> aaaa </p>    ----在jQuery中获取到节点:$(".demo")

2、JS中:

<div>test</div>

<script type="text/javascript">

document.getElementById("tt").style.color = "red";

------会报错,在文档中没有id=tt的节点

</script>

<div>test</div>

<script type="text/javascript">

if(document.getElementById("tt")){

document.getElementById("tt").style.color = "red";

------不会报错,在文档中即使没有id=tt的节点

}

</script>

jQuery中:

<div>test</div>

<script type="text/javascript">

$('#tt').css("color","red");

-----在jQuery中是不需要判断该节点是否存在的,

</script>

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

3、jQuery中检测某个元素是否存在的时候,不能使用以下代码,应该利用对象的长度或者转化为DOM对象

if( $('#tt') ){

----错误的

}

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

//do Something

}

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

//do Something

}

4、

$("div,span,p.myClass")選取所有的<div>,<span>,以及class為myClass的<P>標籤的一組標籤   ----集合元素

基本选择器:

$("#one").css("background","#bbffaa");

$(".mini").css("background","#bbffaa");

$("div").css("background","#bbffaa");

$("*").css("background","#bbffaa");

$("span, #two").css("background","#bbffaa");

层次选择器:

$("div span")选取<div>里的所有span元素

$("div > span")选取<div>元素下,元素名为<span>的子元素

$(".one + div")选取class为one的下一个<div>的同辈元素

$("#two ~div")选取id为two的元素后面的所有<div>同辈元素

过滤选择器:

$("div :first")选取所有<div>元素后面的第一个<div>元素

$("div :last")选取所有<div>元素后面的最后一个<div>元素

$("input :not(.myClass)")选取class不是myClass的<input>元素

$("input :even")选取索引是偶数的<input>元素

$("input :odd")选取索引是奇数的<input>元素

$("input :eq(1)")选取索引等于1的<input>元素

$("input :gt(1)")选取索引大于1的<input>元素

$("input :lt(1)")选取索引小于1的<input>元素

$("div :animated")选取正在执行动画的<div>元素

$(":focus")选取当前获取焦点的元素

内容过滤选择器:

$("div :contains('我')")选取含有文本 “我”的<div>元素

$("div :empty")选取不包含子元素(包括文本元素)的<div>空元素

$("div :has(p)")选取含有<p元素的<div>元素

$("div :parent")选取拥有子元素(包括文本元素)的<div>元素

可见性过滤选择器:

$(":hidden")选取所有的不可见元素,包含<input type="hidden" />,<div style="display:none;">和<div style="visibility:hidden;">等元素

$("input :hidden")

$("div :visible") 选取所有的可见的div元素

属性过滤选择器:

$("div[id]")   选取拥有属性id的元素

$("div[title=test]")  选取title为test的div元素

$("div[title != test]")  选取title不等于test的div元素,没有改属性的也会被选中

$("div[title ^= test]")  选取title属性以“test”开始的div元素

$("div[title $= test]")  选取title属性以“test”结束的div元素

$("div[title *= test]")  选取title属性含有“test”的div元素

$('div[title |= "en"]')  选取title属性等于en获取以en为前缀(-  分隔)的元素

$("div[title ~= "uk"]")  选取title属性用空格分隔的值中包含字符uk的元素

$("div[id][title $= 'test']")  选取拥有属性id,并且属性title以“test”结束的div元素

子元素过滤选择器:

:nth-child(index/even/add) :选取每个父元素下的第index个子元素或者奇偶元素,index从1开始,为每一个符合条件的父元素匹配子元素

:first-child :选取每个父元素的第一个子元素

:last-child :选取每个父元素的最后一个子元素

:only-child 如果某个元素是它父元素中唯一的子元素,则会被匹配

表单对象属性过滤器:

:enabled :选取所有可用元素  ---disabled

:disabled :选取所有不可用的元素  ---disabled

:checked :选取所有被选中的元素

:selected :选取所有被选中的选项元素(下拉列表) $("select option:selected")选取所有被选中的选项元素

获取内容的是text()方法

表单选择器:

:input

:text

:password

:radio

:checkbox

:submit

:image

:reset

:button

:file

:hidden

5、

可以使用next()方法代替$('prev + next')选择器

$(".one + div")   等价于    $(".one").next("div")

可以使用nextAll()方法代替$('prev ~sibling')

$("#prev ~div")   等价于    $("#prev").nextAll("div")

sibling()与$('prev ~sibling')选择器进行比较,sibling()与位置无关

//选取#prev之后的所有同辈div元素

$("#prev ~div").css("background","#bbffaa");

//同上

$("#prev").nextAll("div").css("background","#bbffaa");

//选取##prev的所有同辈div元素,与前后位置无关

$("#prev").sibling("div").css("background","#bbffaa");

6、选择器中含有空格,多一个空格或少一个空格也许会得到截然不同的结果

//选取class为“test”的元素里面的隐藏元素

var $a = $('.test :hidden');  ---带空格的  ---长度为4

//选取掩藏的class为“test”的元素

var $b = $('.test:hidden');  ---不带空格的  ---长度为3