学习前端也有一段时间了,今天终于进入到JQuery阶段了,对于新手来讲,JQuery的选择器类型之多 功能之强大实在不是一天两天能够记得完的。现在,就采用边学边记录的方式。以后要是忘了的话,也有一个地方能够迅速找到。今天也是站在前辈大神的肩膀上学习JQuery。

1.属性选择器

属性选择器的语法

jQuery( "[attribute|='value']" )

attribute: 一个属性名.

value: 一个属性值,引号是可选的. 可以是一个不带引号的一个单词或带一个引号的字符串。

实例:

<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-2.1.1.min.js"></script>
<!--<script src="../js/selector.js"></script>-->
<style>
a{
display: block; }
</style>
</head>
<body>
<a href="#" hreflang="en">Some text</a>
<a href="#" hreflang="en-UK">Some other text</a>
<a href="#" hreflang="english">will not be outlined</a>
<script> $("a[hreflang = 'en']").css("background","red");
$("a[hreflang |='en']").css("border","1px solid red");
</script>
</body>
</html>

和CSS选择器一样 属性选择器也有多种多样的根据属性值查找元素的写法。下图就是不同的查找属性值的选择器写法

2.基础选择器

2.1 all Selector

选择所有的元素

语法

jQuery( "*" )

注意:除非被它自己使用,否则"*"选择器或通用选择器,其速度是极慢的。

例子:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-2.1.1.min.js"></script>
<style type="text/css">
div,span,p {
width: 80px;
text-align: center;
height: 40px;
float: left;
margin: 15px;
padding: 10px;
background-color: #eeeeee;
}
</style>
</head>
<body>
<div>DIV</div>
<span>SPAN</span>
<p>P <button>Button</button></p>
<script>
var elements = $("*").css("border","1px solid red").length;
$("body").prepend("<h3>"+ elements + "elements found</h3>")
</script> </body>
</html>

效果:

查找一个DIV中的所有元素

<!DOCTYPE html>
<html>
<head>
<style>
h3 { margin: 0; }
div,span,p {
width: 80px;
height: 40px;
float:left;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
#test {
width: auto; height: auto; background-color: transparent;
}
</style>
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div id="test">
<div>DIV</div>
<span>SPAN</span>
<p>P <button>Button</button></p>
</div>
<script>
var elementCount = $("#test").find("*").css("border","3px solid red").length;
$("body").prepend("<h3>" + elementCount + " elements found</h3>");</script> </body>
</html>

效果图

2.2 类选择器

选择给定样式类名的所有元素

语法:

jQuery( ".class" )
class: 一个用来查找的类名。一个元素可以有多个类;其中只有一个必须匹配

对于类选择器,如果浏览器支持,jQuery使用JavaScript的原生getElementsByClassName()函数来实现。

例子:

<!DOCTYPE html>
<html>
<head>
<style>
div,span {
width: 100px;
height: 40px;
float:left;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div class="notMe">div class="notMe"</div> <div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span>
<script>$(".myClass").css("border","3px solid red");</script> </body>
</html>

效果图

查找的元素都“的myclass”和“otherclass的的”类。

<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-2.1.1.min.js"></script>
<style type="text/css">
div,span,p {
width: 120px;
text-align: center;
height: 40px;
float: left;
margin: 15px;
padding: 10px;
background-color: #eeeeee;
}
</style>
</head>
<body>
<!--<div>DIV</div>
<span>SPAN</span>
<p>P <button>Button</button></p>--> <div class="myclass">div class="notMe"</div> <div class="myclass otherclass">div class="myClass"</div>
<span class="myclass otherclass">span class="myClass"</span> <script>
// var elements = $("*").css("border","1px solid red").length;
// $("body").prepend("<h3>"+ elements + "elements found</h3>")
$(".myclass.otherclass").css("background-color","red");
</script> </body>
</html>

2.3元素选择器

<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-2.1.1.min.js"></script>
<style type="text/css">
div,span,p {
width: 120px;
text-align: center;
height: 40px;
float: left;
margin: 15px;
padding: 10px;
background-color: #eeeeee;
}
</style>
</head>
<body>
<!--<div>DIV</div>
<span>SPAN</span>
<p>P <button>Button</button></p>--> <!--<div class="myclass">div class="notMe"</div> <div class="myclass otherclass">div class="myClass"</div>
<span class="myclass otherclass">span class="myClass"</span>-->
<p id="heihei">哈哈哈哈哈哈</p>
<p>嘿嘿嘿嘿嘿嘿</p>
<p>吼吼吼吼吼吼</p> <script>
// var elements = $("*").css("border","1px solid red").length;
// $("body").prepend("<h3>"+ elements + "elements found</h3>")
// $(".myclass.otherclass").css("background-color","red");
$("p").css("border","1px solid red");
</script>
</body>
</html>

效果:

2.4 id 选择器

选择一个具有给定ID属性的单个元素

语法

jQuery( "#id" )
id: 一个用来查找的ID,即元素的id属性。/p>

对于ID选择,jQuery使用JavaScript函数document.getElementById(),这是非常有效的。当另一个选择是附加到ID选择器,比如h2#pageTitle,在确定作为匹配的元素前,jQuery执行一个额外的检查。

调用 jQuery() (或 $()) 带上一个选择器作为它的参数,将返回一个jQuery对象包含零个或一个DOM元素的集合。

每个id值在一个文件中只能使用一次。如果多个元素分配了相同的ID,将只匹配该ID选择集合的第一个DOM元素。但这种行为不应该发生;有超过一个元素的文件使用相同的ID是无效的。

例子:

<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 90px;
height: 90px;
float:left;
padding: 5px;
margin: 5px;
background-color: #EEEEEE;
}
</style>
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div id="notMe"><p>id="notMe"</p></div> <div id="myDiv">id="myDiv"</div>
<script>$("#myDiv").css("border","3px solid red");</script> </body>
</html>

效果:

2.5 multiple selector

将每一个选择器匹配到的元素合并后一起返回。

语法

jQuery( "selector1, selector2, selectorN" )

selector1: 任何有效的选择

selector2: 其他有效的选择

selectorN: 更多有效的选择只要你喜欢。

例子

<!DOCTYPE html>
<html>
<head>
<style> div,span,p {
width: 126px;
height: 60px;
float:left;
padding: 3px;
margin: 2px;
background-color: #EEEEEE;
font-size:14px;
}
</style>
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<div>div</div> <p class="myClass">p class="myClass"</p>
<p class="notMyClass">p class="notMyClass"</p>
<span>span</span>
<script>$("div,span,p.myClass").css("border","3px solid red");</script> </body>
</html>

效果:

其他的一些选择器

层叠选择器

$("form input")         选择所有的form元素中的input元素
$("#main > *")          选择id值为main的所有的子元素
$("label + input")     选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div")       同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器

$("tr:first")               选择所有tr元素的第一个
$("tr:last")                选择所有tr元素的最后一个
$("input:not(:checked) + span")  过滤掉:checked的选择器的所有的input元素

$("tr:even")               选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
 
$("tr:odd")                选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)")             选择所有的td元素中序号为2的那个td元素
$("td:gt(4)")             选择td元素中序号大于4的所有td元素
$("td:ll(4)")              选择td元素中序号小于4的所有的td元素

更多选择器 请看

http://www.cnblogs.com/onlys/archive/2010/12/15/1906380.html

HTML 学习笔记 JQuery(选择器)的更多相关文章

  1. 4月10日学习笔记——jQuery选择器

    概念 jQuery 是一套Javascript脚本库,注意 jQuery 是脚本库,而不是脚本框架."库"不等于"框架".jQuery 并不能帮助我们解决脚本的 ...

  2. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  3. JQuery学习笔记——基础选择器

    第一篇博客,现在原生安卓需求不大了.招聘的Android工程师都需要附带更多的其他技术.这也是开启我学习前端之路的开端.前端时间看了HTML.CSS等,在界面渲染这一块,就不多记录博客了.现在学习着J ...

  4. jQuery学习笔记——jQuery常规选择器

    一.简单选择器在使用 jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的 CSS 规则.而CSS 规则作为参数传递到 jQuery 对象内部后,再返回包含页面中对应元素的 jQuery ...

  5. jQuery学习笔记(2)-选择器的使用

    一.选择器是什么 有了jQuery的选择器,我们几乎可以获取页面上任意一个或一组对象 二.Dom对象和jQuery包装集 1.Dom对象 JavaScript中获取Dom对象的方式 <div i ...

  6. 学习笔记--jQuery基础

    学习笔记也算总结知识点,有些示例可能没有具体到元素,直接给出的语法.大家有基本理解在看可能会好些. jQuery使用前提,需要安装jQuery库 jQuery 库是一个 JavaScript 文件,您 ...

  7. css权威指南学习笔记 —— css选择器

    1,选择器:选择器的一些基本常用规则基本都记得,w3c上都有,平时也常用,不常用的一些后代选择器经常就忘记了.一些归纳一下后代选择器,加深一下印象: a:子选择器:   p>a  a是直接是p的 ...

  8. jquery学习笔记---jquery插件开发

    http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html jquery插件开发:http://www.cnblogs.com/damonla ...

  9. CSS学习笔记(1):选择器

    一.元素选择器 HTML文档元素就是最基本的选择器 如: <!DOCTYPE html> <html lang="en"> <head> < ...

  10. jQuery基础学习(二)—jQuery选择器

    一.jQuery基本选择器 1.CSS选择器     在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例   标签选择器 E {                 ...

随机推荐

  1. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  2. UploadFile控件,提交图片后,页面预览显示刚刚提交的图片

    最近在用asp.net来写一个新闻系统后台,然后由于不用用网上的flash插件来上传图片什么的,我就用asp.net的控件来写,但是控件总归有一些用的不够灵活的地方.这次测试提出,文章在修改的时候,需 ...

  3. “全能”选手—Django 1.10文档中文版Part1

    本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...

  4. Navisworks 2014 Api 简单的使用

    初次接触Navisworks Api  .NET 的二次开发.主要是研究了一下.关于NavisWorks 结构树的加载. void LoadModel() { //清空当前的结构树信息 treeVie ...

  5. asp.net实现图片在线上传并在线裁剪

    1.说明 接上一篇文章uploadify实现多附件上传完成后,又突然用到头像上传并在线裁剪.在网上找个众多例子都没有符合要求的,有一篇文章写的不错,就是文旺老兄写的这篇Asp.Net平台下的图片在线裁 ...

  6. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  7. GJM : Unity3D HIAR -【 快速入门 】 五、导出 Android 工程、应用

    导出 Android 工程.应用 在开始之前,请务必先保存您的工程,同时确认您已经安装 Android SDK 和 JDK.安装操作请参考以下链接: 搭建开发环境 Step 1. 设置 Android ...

  8. HTML5 oninput实时监听输入框值变化的完美方案

    在网页开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理组合快 ...

  9. Angel工作室EasyUI通用权限管理框架正式发布

    框架系统基本功能: 1.管理员管理 2.日志管理 3.菜单导航管理 4.角色管理 5.操作权限管理 6.系统设置管理 7.报表导出 8.系统参数管理  该框架应该说是码农们接单利器的首选解决方案,本框 ...

  10. ADT - Eclipse 常用快捷键

    ADT - Eclipse 常用快捷键 Alt + / : 自动补全 F3 : 打开类的源码 Ctrl + D : 删除选中行 Ctrl + 1 : 自动弹出修改建议 Ctrl + Shift + J ...