
1.4 jQuery简单应用
在介绍使用jQuery 开发简单应用之前,首先需要了解如何使用jQuery访问DOM元素,如何将DOM对象转化成jQuery对象,然后通过控制转成的jQuery对象,实现各类应用的功能。
1.4.1 jQuery访问DOM对象
1.什么是DOM对象
每一个页面都是一个DOM(Document Object Model,文本对象模型)对象,通过传统的JavaScript方法访问页面中的元素,就是访问DOM对象。
例如,页面中有两个<div>标记元素如下:
<div id="Tmp">测试文本</div> <div id="Out"></div>
通过下面的JavaScript代码可以访问DOM对象,以及获取或设置其内容值:
var tDiv=document.getElementById("Tmp"); //获取DOM对象 var oDiv=document.getElementById("Out"); //获取DOM对象 var cDiv=tDiv.innerHTML; //获取DOM对象中的内容 oDiv.innerHTML=cDiv; //设置DOM对象中的内容
如果执行上面的JavaScript代码,将在ID为“divOut”的标记中显示ID为“Tmp”的标记内容。
2.什么是jQuery对象
在jQuery库中,通过本身自带的方法获取页面元素的对象,称为jQuery对象;为了同样实现在ID为“Out”的标记中显示ID为“Tmp”的标记内容,采用jQuery访问页面元素的方法,其实现的代码如下:
var tDiv=$("#Tmp"); //获取jQuery对象 var oDiv=$("#Out"); //获取jQuery对象 var cDiv=tDiv.html(); //获取jQuery对象中的内容 oDiv.html(cDiv); //设置jQuery对象中的内容
通过代码对比可以看出,jQuery对象访问方法比DOM对象访问方法更简单、高效,它们都实现同样的功能。
1.4.2 jQuery控制DOM对象
在介绍使用jQuery控制DOM对象前,先通过一个简单的示例,说明如何用传统的JavaScript方法访问DOM对象。
示例1-3 控制DOM对象
(1)功能描述
在页面中,用户输入姓名、性别和婚姻状况,单击“提交”按钮后,将获取到的数据信息显示在页面<div>标记中。
(2)实现代码
新建一个HTML文件1-3.html,加入如下代码:
<html> <head> <title>控制DOM对象</title> <style type="text/css"> .iframe{ border:solid 1px #888;font-size:13px;} .title{ padding:6px;background-color:#EEE;} .content{ padding:8px;font-size:12px;} .tip{ background-color:#EEE;display:none; font-size:12px;padding:8px;} .txt{ border:solid 1px #888;} .btn{ border:solid 1px #888;width:60px;} .w260{ width:260px;} </style> <script type="text/javascript"> function btn_Click(){ //获取文本框的值 var oTxtValue=document.getElementById("Text1").value; //获取单选框按钮值 var oRdoValue=(Radio1.checked)·"男":"女"; //获取复选框按钮值 var oChkValue=(Checkbox1.checked)·"已婚":"未婚"; //显示提示文本元素 document.getElementById("Tip").style.display="block"; //设置文本元素的内容 document.getElementById("Tip").innerHTML= oTxtValue+"<br>"+oRdoValue+"<br>"+oChkValue; } </script> </head> <body> <div class="iframe"> <div class="title">请输入如下信息</div> <div class="content"> 姓名:<input id="Text1" type="text" class="txt"/><br /> 性别:<input id="Radio1" name="rdoSex" type="radio" value="男" />男 <input id="Radio2" name="rdoSex" type="radio" value="女" />女<br /> 婚否:<input id="Checkbox1" type="checkbox" /><br /><br /> <input id="btnSubmit" type="button" value="提 交" class="btn" onclick="btn_Click();" /><br /><br /> </div> <div id="Tip" class="tip"></div> </div> </body> </html>
以上代码使用传统的JavaScript方法获取用户输入的信息,并保存到变量中,最后通过document.getElementById("Tip").innerHTML方法显示所有的数据信息。
下面将示例1-3中的JavaScript代码进行修改,引入jQuery库,通过jQuery中的方法获取元素的值,并将获取的数据显示出来。其修改后的JavaScript代码如下所示:
<script language="javascript" type="text/javascript" src="Jscript/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(function(){ $("#btnSubmit").click(function(){//获取文本框的值 var oTxtValue=$("#Text1").val(); //获取单选框按钮值 var oRdoValue=$("#Radio1").is (":checked")·"男":"女"; //获取复选框按钮值 var oChkValue=$("#Checkbox1").is (":checked")·"已婚":"未婚"; //显示提示文本元素和内容 $("#Tip").css("display","block").html(oTxtValue+"<br>"+oRdoValue+"<br>"+oChkValue); }) }) </script>
(3)页面效果
HTML文件1-3.html,最终实现的页面效果如图1-4所示。

图1-4 控制jQuery对象
(4)代码分析
在修改后的JavaScript代码中,$("#Text1").val()在jQuery库中表示获取ID号为“Text1”的值;$("#Radio1").is (":checked")表示ID号为“Radio1”的单选按钮是否被选中,如果选中返回“男”,否则返回“女”。
可以看出,通过jQuery库中的方法访问或控制页面中的元素比使用传统的JavaScript代码更简洁,并且还兼容各种浏览器。
1.4.3 jQuery控制页面CSS
jQuery框架中通过自带JavaScript编程,提供全部CSS 3下的选择器,开发者可以首先定义自己的样式文件,然后通过jQuery中的addClass()方法,将该样式轻松地添加到页面中指定的某元素中,而不用考虑浏览器的兼容性。
下面通过一个简单的示例介绍如何使用jQuery中的toggleClass(className)方法实现页面样式的动态切换功能。
示例1-4 jQuery控制CSS样式
(1)功能描述
在页面中,增加一个<div>元素标记,用户单击该元素时,变换其字体和背景色,再次单击时,恢复其初始的字体和背景色。
(2)实现代码
新建一个HTML文件1-4.html,加入如下代码:
<!DOCTYPE html> <html> <head> <title>jQuery事件的链式写法</title> <script src="JScript/jquery-1.8.2.min.js" type="text/javascript"></script> <style type="text/css"> .iframe{ border:solid 1px #888;font-size:13px;} .defcol{ padding:6px;background-color:#EEE;} .curcol{ padding:6px;background-color:#CCC;color:#FFF} </style> <script type="text/javascript"> $(function() { $(".defcol").click(function() { $(this).toggleClass("curcol"); }); }); </script> </head> <body> <div class="iframe"> <div class="defcol">标题</div> </div> </body> </html>
(3)页面效果
HTML文件1-4.html执行后,最终实现的页面效果如图1-5所示。

图1-5 jQuery控制CSS
(4)代码分析
在jQuery库中,通过简单的几行代码,就可以实现传统JavaScript大量代码完成的功能,节省开发者的时间,提高工作效率。