jQuery

一、jQuery 简介

        (1)jQuery 是一个 JavaScript 库。jQuery 极大地简化了 JavaScript 编程,jQuery 是继 Prototype 之后又一个优秀的 JavaScript 库。jQuery 库可以通过一行简单的标记被添加到网页中。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

         (2)jQuery 理念: 写得少, 做得多. 优势如下:
                    轻量级
                    强大的选择器
                    出色的 DOM 操作的封装
                    可靠的事件处理机制
                    完善的 Ajax
                    出色的浏览器兼容性
                    链式操作方式

二、jQuery语法

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

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

  • 美元符号定义 jQuery
  • 选择符(selector)“查询”和“查找” HTML 元素
  • jQuery 的 action() 执行对元素的操作

示例

$(this).hide() - 隐藏当前元素

$("p").hide() - 隐藏所有段落

$(".test").hide() - 隐藏所有 class="test" 的所有元素

$("#test").hide() - 隐藏所有 id="test" 的元素

提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。

(2)当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。

在DOM加载完成时运行的代码

$(document).ready(function(){
  
// 在这里写你的代码...

});

$(function(){   


// 在这里写你的代码...

});



(3)DOM 对象和 jQuery 对象的相互转换

例:

<!DOCTYPE html>
<html>
  <head>
    <title>jquery2.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="jquery.js"></script>//导入jquery.js文件
<script type="text/javascript">
/*
 * 怎么获取DOM对象  id
 * 怎么获取jQuery对象 id
 *$(document).ready(function(){
	var c=document.getElementById("c");
	//c.innerHTML="<h1>document1</h1>";
	
	var $c=$("#c");
	$c.html("<h1>JQUERY1</h1>");
});*/
//把DOM对象转换成jQuery对象
/*$(document).ready(function(){
	var c=document.getElementById("c");
	var $c=$(c);
	$c.html("<h1>JQUERY22</h1>");
});*/
//怎么把jquery对象转化成 DOM对象
$(document).ready(function(){
	//alert("----------------------2");
	var $c=$("#c");
	//var c=$c[0];// jQuery 对象是一个数组对象
	var c=$c.get(0);
	c.innerHTML="<h1>document3</h1>";
});
</script>
  </head>
  
  <body>
    <div id="c"></div>
  </body>
</html>

三、JQuery选择器

(1)jQuery 元素选择器

 jQuery 使用 CSS 选择器来选取 HTML 元素。

 $("p") 选取 <p> 元素。

 $("p.intro") 选取所有 class="intro" 的 <p> 元素。

 $("p#demo") 选取所有 id="demo" 的 <p> 元素。

(2)jQuery 属性选择器

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

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

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

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

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

(3)层次选择器

       如果想通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素等, 则需要使用层次选择器.

例:

<!DOCTYPE html>
<html>
<head>
<title>jquery02.html</title>

<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<!-- 引入js库文件 -->
<script type="text/javascript" src="./js/jquery-2.0.3.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){
  //在给定的父元素下匹配所有的子元素
  $("form>input").css("border-color","red");
});
</script>

</head>

<body>
	<form>
		<label>Name:</label> 
		<input name="name"/>
		<fieldset>
			<label>Newsletter:</label> 
			<input name="newsletter" />
		</fieldset>
	</form>
	<input name="none" />
</body>
</html>

      注意:  (“prev ~ div”) 选择器只能选择 “# prev ” 元素后面的同辈元素; 而 jQuery 中的方法 siblings() 与前后位置无关, 只要是同辈节点就可以选取
(4)过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 “:” 开头
基本过滤选择器:

内容过滤选择器:

可见性过滤选择器:

子元素过滤选择器:nth-child(),first-child(),last-child(),only-child();

nth-child() 选择器详解如下:
(1) :nth-child(even/odd): 能选取每个父元素下的索引值为偶(奇)数的元素
(2):nth-child(2): 能选取每个父元素下的索引值为 2 的元素
(3):nth-child(3n): 能选取每个父元素下的索引值是 3 的倍数 的元素
(3):nth-child(3n + 1): 能选取每个父元素下的索引值是 3n + 1的元素

四、表单对象属性过滤选择器

案例:

<!DOCTYPE html>
<html>
<head>
<title>MyHtml.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="./js/1.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
	$("tbody>tr:even").css("background-color","green");
	    $("tbody>tr:odd").css("background-color","red");
	    
	     var color;
	    $("tbody>tr").hover(function(){
	    	color=$(this).css("background-color");
	    	$(this).css("background-color","yellow");
	    },function(){
	    	$(this).css("background-color",color);
	    }); 
	    
	});
</script>
</head>

<body>
	<table>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
		<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
			<tr>
			<td>第一行</td>
			<td>第一行</td>
		</tr>
	</table>
</body>
</html>

五、下载 jQuery

有两个版本的 jQuery 可供下载:

    Production version - 用于实际的网站中,已被精简和压缩。
    Development version - 用于测试和开发(未压缩,是可读的代码)

这两个版本都可以从 jQuery.com 下载。
六、小案例

<!DOCTYPE html>
<html>
<head>
<title>MyHtml.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="./js/1.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
		$("input[type='button']").click(function() {
           alert($("input[type='checkbox']:checked").size());
		});
	});
</script>
</head>

<body>
	<form action="">
		<input type="checkbox" value="X" />X <input type="checkbox" value="Y" />Y
		<input type="checkbox" />Z <input type="checkbox" />D <input
			type="checkbox" />E <input type="button" value="选中的个数" />
	</form>
</body>
</html>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值