史上最全的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冲突,请跳转至下一篇

筛选器(过滤选择器)

点我--->>至下一篇

时间: 2024-10-11 22:50:29

史上最全的jQuery选择器的相关文章

开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http://blog.csdn.net/caoyouxing/article/details/42418591 主题 开源 安卓开发 http://www.tuicool.com/articles/jyA3MrU Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自

React Native常用第三方组件汇总--史上最全 之一

把我认为最好的知识,拿来与他人分享,是这一生快事之一! React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown 倒计时 react-native-device-info 设备信息 react-native-fileupload 文件上传 react-native-icons 图标 react-native-image-picker 图片选择器 reac

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇. 为了帮助大家更好深入了解大数据,云栖社区组织翻译了GitHub Aweso

【必备】史上最全的浏览器 CSS &amp; JS Hack 手册

[必备]史上最全的浏览器 CSS & JS Hack 手册 浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向大家分享 Browserhacks 帮我们从网络上收集的各个浏览器特定的 CSS & JavaScript Hack,记得推荐和分享啊! IE 选择器 Hack 1 2 3 /* IE 6 and below */ * html .s

史上最全的CSS hack方式一览(转载)

做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经验和理解,做了几个demo把IE6~IE10和其他标准浏览器的CSS hack做一个总结,也许本文应

.Net魔法堂:史上最全的ActiveX开发教程——ActiveX与JS间交互篇

一.前言 经过上几篇的学习,现在我们已经掌握了ActiveX的整个开发过程,但要发挥ActiveX的真正威力,必须依靠JS.下面一起来学习吧! 二.JS调用ActiveX方法 只需在UserControl子类中(即自定义的ActiveX控件中),编写公共方法即可. C# [Guid("0203DABD-51B8-4E8E-A1EB-156950EE1668")] public partial class Uploader : UserControl, IObjectSafety { p

史上最全最常用的正则表达式-(基本够用值得收藏)

一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8 正数.负数.和小数:^(\-|\+)?\d+(\.\d+)?$ 9 有两位小数的正实数:^[0-9]

[No00004F]史上最全Vim快捷键键位图(入门到进阶)

史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版        下面这个键位图应该是大家最常看见的经典版了. 对应的简体中文版. 其实经典版是一系列的入门教程键位图的组合结果,下面是不同编辑模式下的键位图. 1 2 3 4 5 6 7 入门版        基本操作的入门版.进阶版        增强版        下图是一个更新时间较新的现代版,含有的信息也更

zz 史上最全--各银行借记卡的年费、小额管理费、转账费等!

史上最全--各银行借记卡的年费.小额管理费.转账费等! 发布时间:2015-01-14 17:28:10 还在迷茫借记卡自费的菜主儿们~菜菜特别整理关于各银行借记卡.存折账户等的年费.小额管理费.转账费等实用信息,欢迎大家更新或者补充完善.觉得有用一定要收藏和分享哟! 工商银行 办卡费5元,年费10元/年,低于300元收小额账户管理费3元/季度,同城跨行取款2元/笔.异地存取款:存款按照结算金额的0.5%收取,最低2元,最高100元;取款按照结算金额的1%收取,最低2元,最高100元; 中国农业