分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

史上最全的jQuery选择器

发布时间:2023-09-06 01:07责任编辑:沈小雨关键词:jQuery选择器

jQuery选择器的优势

  1.简洁的写法

    $()函数在很多JavaScript类库中都被作为一个选择器函数来使用,在jQuery中也不例外。其中$("#ID")用来代替document.getElementById()函数,即通过ID获取元素。

  2.支持CSS1到CSS3选择器

    jQuery选择器的写法与CSS选择器的写法十分相似,只不过两者的作用效果不同,CSS选择器是找到元素后添加样式,而jQuery选择器是找到元素后添加行为。

  3.完善的处理机制

    使用jQuery选择器不仅简洁,而且还能避免很多错误。

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<script src="myScript/jquery-1.10.2.min.js" type="text/javascript"></script></head><body> ???<div>test</div> ???<script> ???????document.getElementById("tt").style.color="red"; ???</script></body></html>

    运行以上代码,浏览器会因为网页中没有id为"tt"的元素而报错,因此,必须修改代码如下:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<script src="myScript/jquery-1.10.2.min.js" type="text/javascript"></script></head><body> ???<div>test</div> ???<script> ???????if(document.getElementById("tt")){ ???????????document.getElementById("tt").style.color="red"; ???????} ???</script></body></html>

    但是如果我们需要操作很多元素,那么需要对每一个元素都进行一次判断,还太麻烦了吧!!

    这个时候jQuery站了出来,其在这方面的问题上处理的非常不错,即便页面不存在该元素也不会报错哦!

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<script src="myScript/jquery-1.10.2.min.js" type="text/javascript"></script></head><body> ???<div>test</div> ???<script> ???????$("#tt").css("color","red"); ???</script></body></html>

    但是需要注意的是,$("#tt")获取的永远都是对象,即便是网页上没有这个元素,因此当要用jQuery来检查某个元素在网页上是否存在时,不能使用以下代码:

if ( $("#tt") ){ ???//do something}

    而应该根据获取到元素的长度来判断

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

    或者转化成DOM对象来判断

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

选择器

1.基本选择器描述返回示例
#id根据给定的id匹配一个元素单个元素$("#test")选取id为test的元素
.class根据给定的类名匹配元素集合元素$(".test")选取所有class为test的元素
element根据给定元素名匹配元素集合元素$("p")选取的p标签
*匹配所有元素集合元素$("*")选取所有元素
seletor1,....,seletorN将每一个选择器匹配到的元素合并后一起返回集合元素$("div,span,p.myClass")选取所有div,span,和拥有myClass类的p标签合并成一组元素
功能代码执行按钮
改变id为one的元素的背景色$("#one").css("background","#bbffaa");
改变class为mini的所有元素的背景色$(".mini").css("background","#bbffaa");
改变div标签的背景色$("div").css("background","#bbffaa");
改变所有元素的背景色$("*").css("background","#bbffaa");
改变所有的span标签和id为two的元素的背景色$("#span,#two").css("background","#bbffaa");
#one,.one
.mini
#two,.one,title=test
.mini
t=other
.mini
t=test
???????
.mini
.mini
.mini
.mini
???????
.mini
.mini
.mini
.mini
t=tesst
???????
???????正在执行动画的span元素. 
 
 
2.层次选择器描述返回示例
$("祖先 后代")选取祖先元素里面的所有后代元素集合元素$("div span")选取div里的所有span元素
$("parent > child")选取父亲元素里面的孩子元素集合元素$("div > span")选取div元素下名为span的子元素

$("prev + next")

$(".prev").next("next")

选取紧接在prev元素后的next元素集合元素

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

$(".one").next("div")

$("prev ~ siblings")

$("prev").nextAll("siblings")

选取prev元素之后的所有siblings元素集合元素

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

$("#two").nextAll("div")

??????????? ??????????? ??????????? ??????????? ??????????? ???????
功能代码执行按钮
改变body内所有div的背景色$("body div").css("background","#bbffaa"); ?
改变body内子div的背景色$("body > div").css("background","#bbffaa"); ?
改变class为one的下一个div同辈元素背景色$(".one + div").css("background","#bbffaa"); ?
改变id为two的元素后面的所有div同辈元素的背景色$("#two ~ div").css("background","#bbffaa"); ?
???
#one,.one
.mini
???????
#two,.one,title=test
.mini
t=other
.mini
t=test
???????
.mini
.mini
.mini
.mini
???????
.mini
.mini
.mini
.mini
t=tesst
???????
???????正在执行动画的span元素. ???

因页面元素过多,动态元素的id冲突,请跳转至下一篇

筛选器(过滤选择器)

史上最全的jQuery选择器

原文地址:http://www.cnblogs.com/wuwen19940508/p/7461264.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved