小强的HTML5移动开发之路(34)——jQuery中的选择器

一、jQuery是什么?

jQuery是由美国人John Resig创建,至今吸引了来自世界各地的众多javascript高手加入其中。

jQuery的创始人和技术领袖,目前在Mozilla担任JavaScript工具开发工程师。著有《Pro JavaScript Techniques》(即《精通JavaScript》)等经典JavaScript书籍。

jQuery是继prototype之后又一个优秀的javascript框架。其宗旨是——WRITE LESS, DO MORE,写更少的代码,做更多的事

jQuery是轻量级的js库(压缩后只有21k),这是其他js库所不及的,它兼容css3,还兼容各种浏览器。

下载地址:http://jquery.com/download/

jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

二、目前流行的javascript库

jQuery

EXTJS  

Prototype

DWR

Dojo

YUI

MooTools

三、jQuery库包含以下特征

1、HTML元素选取

2、HTML元素操作

3、CSS操作

4、HTML事件函数

5、Javascript特效和动画

6、HTML DOM遍历和修改

7、AJAX

8、Utilites

四、添加jQuery库

可以添加Google或Microsoft的CDN jQuery

Google的CDN

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>
</head>
Microsoft的CDN

<head>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery
/jquery-1.4.min.js"></script>
</head>
注意:在HTML5中,不必再写 type="text/javascript" 了,JavaScript是HTML5以及所有现代浏览器中的默认脚本语言。

有两个版本的JQuery可以下载:http://jquery.com/download/

1、Production version :用于实际的网站中,已经被精简压缩。

2、Development version :用于测试和开发,未压缩可读。

五、简单实用方法

jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

基础语法是:$(selector).action()

$ :美元符号定义jQuery

selector :查询和查找HTML元素

action() :执行对元素的操作

例如 :$(this).hide  隐藏当前的HTML元素

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
  		$("button").click(function(){
  			$(this).hide();
		});
	});
</script>
</head>

<body>
<button type="button">Click me</button>
</body>

</html>
注意上面代码的朋友可能会对上面的如下代码感到疑惑

$(document).ready(function(){

--- jQuery functions go here ----

});
这句代码是为了防止文档在完全加载就运行jQuery代码,否则就可能出现问题。

除了上的this以外,还可以通过其他方式获得元素对象

1、元素选择器

$("#test") :id="test"的元素。

$("p") : <p>元素。

$(".test") :class="test"的元素。

$("p.intro")  : class="intro" 的 <p> 元素。

$("p#demo")  : id="demo" 的 <p> 元素。

2、属性选择器

jQuery使用XPath表达式来选择带有给定属性的元素。

$("[href]") 选取所有带有href属性的元素。

$("[href=‘#‘]") 选取所有带有href且值等于#的元素。

$("[href!=‘#‘]") 选取所有带有 href 值不等于 "#" 的元素。

$("[href$=‘.jpg‘]") 选取所有 href 值以 ".jpg" 结尾的元素。

3、CSS选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。

$("p").css("background-color","red");

六、jQuery选择器表

选择器 实例 选取
* $("*") 所有元素
#id $("#lastname") id="lastname" 的元素
.class $(".intro") 所有 class="intro" 的元素
element $("p") 所有 <p> 元素
.class.class $(".intro.demo") 所有 class="intro" 且 class="demo" 的元素
     
:first $("p:first") 第一个 <p> 元素
:last $("p:last") 最后一个 <p> 元素
:even $("tr:even") 所有偶数 <tr> 元素
:odd $("tr:odd") 所有奇数 <tr> 元素
     
:eq(index) $("ul li:eq(3)") 列表中的第四个元素(index 从 0 开始)
:gt(no) $("ul li:gt(3)") 列出 index 大于 3 的元素
:lt(no) $("ul li:lt(3)") 列出 index 小于 3 的元素
:not(selector) $("input:not(:empty)") 所有不为空的 input 元素
     
:header $(":header") 所有标题元素 <h1> - <h6>
:animated   所有动画元素
     
:contains(text) $(":contains(‘W3School‘)") 包含指定字符串的所有元素
:empty $(":empty") 无子(元素)节点的所有元素
:hidden $("p:hidden") 所有隐藏的 <p> 元素
:visible $("table:visible") 所有可见的表格
     
s1,s2,s3 $("th,td,.intro") 所有带有匹配选择的元素
     
[attribute] $("[href]") 所有带有 href 属性的元素
[attribute=value] $("[href=‘#‘]") 所有 href 属性的值等于 "#" 的元素
[attribute!=value] $("[href!=‘#‘]") 所有 href 属性的值不等于 "#" 的元素
[attribute$=value] $("[href$=‘.jpg‘]") 所有 href 属性的值包含以 ".jpg" 结尾的元素
     
:input $(":input") 所有 <input> 元素
:text $(":text") 所有 type="text" 的 <input> 元素
:password $(":password") 所有 type="password" 的 <input> 元素
:radio $(":radio") 所有 type="radio" 的 <input> 元素
:checkbox $(":checkbox") 所有 type="checkbox" 的 <input> 元素
:submit $(":submit") 所有 type="submit" 的 <input> 元素
:reset $(":reset") 所有 type="reset" 的 <input> 元素
:button $(":button") 所有 type="button" 的 <input> 元素
:image $(":image") 所有 type="image" 的 <input> 元素
:file $(":file") 所有 type="file" 的 <input> 元素
     
:enabled $(":enabled") 所有激活的 input 元素
:disabled $(":disabled") 所有禁用的 input 元素
:selected $(":selected") 所有被选取的 input 元素
:checked $(":checked") 所有被选中的 input 元素












郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。