做项目时,考虑到浏览器兼容问题,开始使用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>
<script type="text/javascript" src="../js/jquery.js"></script>
3.和JS代码一样,jquery也需要从页面获取某个标签才能对起进行操作。
Jquery中有一个更加规范的命名:选择器。
Jquery的选择器有:
一:标签有ID的
(1).直接通过id找到某个标签。
如:页面上有一段这样的代码:
- <input id="name1" name="name2" type="text">
<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>
<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>
<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 type="hidden" name="name"/>
$("input:hidden");匹配input标签中type为hidden的元素......
选择器还有很多其他的方式,请参考API文档,此处只写出我所用到的一些。
4.
获取元素中的值的问题
1.对input标签,一般使用.val()来获取值。如:
- <input name="name1" type="text" value="第一个"/>
<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();" />
<input name="name1" type="text" onclick="ok();" />
... 然后再写一个JS文件,里面包含了一个ok这样的方法。代码和页面交互很强。
jquery可以实现简化。
在页面上只需要声明name或id,如:
- <input name="name1" type="text" />
<input name="name1" type="text" />
单独的JS文件上只需要这样,即可实现onclick的效果。
- $("input[name=name1]").click(function(){
- alert("我和页面无关!");
- });
$("input[name=name1]").click(function(){
alert("我和页面无关!");
});
(2).初始化加载事件。
只需要在JS文件中写这样的代码:
- $(document).ready(function(){
-
- });
$(document).ready(function(){
//可以引入其他需要初始化加载的方法。
});
还有其他很多事件的函数,请参阅API文档。
其实他只是JS的一个框架,要想很清楚的理解它里面的原理的话还需要好好的学习javascript。今天先写到这儿,后面用到了再补上来。