做项目时,考虑到浏览器兼容问题,开始使用jquery来代替以前使用的JS代码..
用jquery可以做出很cool很cool的JS效果,请参考http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html
使用jquery的优点有:JSP代码的页面内容保持了独立,不需要在JSP页面上写很多JS代码了,只要定义一个id即可。兼容各种浏览器。能够方便的和AJAX交互。
现在开始使用jquery
1.下载类库包:www.jquery.com
2.页面上引入:
<script type="text/javascript" src="../js/jquery.js"></script>
3.和JS代码一样,jquery也需要从页面获取某个标签才能对起进行操作。
Jquery中有一个更加规范的命名:选择器。
Jquery的选择器有:
一:标签有ID的
(1).直接通过id找到某个标签。
如:页面上有一段这样的代码:
<input id="name1" name="name2" type="text">
在Jquery中通过
$("#name1");
即可以找到id为name1的标签
(2).通过属性值来找到对应标签
如在上面的页面代码中通过
$("input[id=name1]");
即可以找到id为name1的input标签
二:标签无ID的
(1).和上面一样,通过属性值来找到对应标签
<input name="name1">
jquery: $("input[name=name1]");
(2).表单,如页面上有一段这样的代码
<form> <input type="text" /> <input type="checkbox" /> <input type="radio" /> <input type="image" /> <input type="file" /> <input type="submit" /> <input type="reset" /> <input type="password" /> <input type="button" /> <select><option/></select> <textarea></textarea> <button></button> </form>
那么在jquery中,通过$(":input");则结果是:所有的input标签元素
$(":text");--->所有的text文本框
$(":checkbox");--->所有的密码框
$(":radio");--->所有的单选按钮
......
(3).表单属性对象:disabled,enabled,checked,selected
如:
<form> <input name="email" disabled="disabled" /> <input name="id" /> </form>
jquery代码:$("input:disable");-->匹配所有不可用元素,输出是:
<input name="email" disabled="disabled" />
$("input:enabled");---> 输出<input name="id" />
(4).可见和不可见:visible,hidden
如:
<input type="hidden" name="name"/>
$("input:hidden");匹配input标签中type为hidden的元素......
选择器还有很多其他的方式,请参考API文档,此处只写出我所用到的一些。
4.获取元素中的值的问题
1.对input标签,一般使用.val()来获取值。如:
<input name="name1" type="text" value="第一个"/>
jquery:alert($("input[name=name1]").val()); 输出 "第一个"
2.对于<P> <div>来说,一般使用.html();来获取值 。如:
<p>abc</p>
jquery: alert($("p").html());输出abc
.....
5.事件
(1).jquery可以让代码和页面内容相分隔开来。
如:对于JS而言,在页面上需要
<input name="name1" type="text" onclick="ok();" />
... 然后再写一个JS文件,里面包含了一个ok这样的方法。代码和页面交互很强。
jquery可以实现简化。
在页面上只需要声明name或id,如:
<input name="name1" type="text" />
单独的JS文件上只需要这样,即可实现onclick的效果。
$("input[name=name1]").click(function(){ alert("我和页面无关!"); });
(2).初始化加载事件。
只需要在JS文件中写这样的代码:
$(document).ready(function(){ //可以引入其他需要初始化加载的方法。 });
还有其他很多事件的函数,请参阅API文档。
对于<P> <div>来说,一般使用.html();来获取值
应该是用 .text(),
.html() 取出来的内容连HTML代码也在其中的