Jquery是JavaScript的库,极大的简便了编程。自2006年Jquery1.0发布,Jquery备受编程者的青睐。前端的技术,我已经垂涎欲滴了很久,掌握的不深。这段时间,参照李炎恢老师的教程,捡着开发中需要的,重新梳理下。
初步认识
页面引入jquery库
<scripttype="text/javascript"sr="jquery-1.10.1.js"></script>
取得页面中的对象,要用“ ”符号来取。其实“ ”代表的就是“jQuery”,所以:
$("#box");
//等价于
jQuery("#box");
加载
页面加载完成后,执行的js脚本放在:
$(document).ready(function(){});
//等价于
$(function(){});
简单对比下区别:
对象互换
Jquery中这样取得对象:
$("#box");
javascrip中这样取得对象:
document.getElementById("box");
它俩的区别在于,Jquery取得的对象是Object类型,JavaScript取得的对象为原生的DOM对象。有些情况下,处理对象的时候,还是得用原生对象。它俩可以互换。
$("#box").get(0); //Jquery对象,转原生
$(document.getElementById("box")); //原生转Jquery对象
- 库冲突
在实际开发中,引用的js库多了,就会发生冲突。这个调起来很烦人。
比如,分别引入Jquery1.10.js,base.js。因为取对象时,它俩的符号都是“$”.所以在页面中,引用的位置,如果Jquery库在前,base库的函数就不识别。相反,Jquery库的函数就不识别。
//Jquery库,引用位置在前,base库应用位置在后
$("#box").get(0); //get()是Jquery的函数,执行
$("#box").ge(0); //ge()是base的函数,不执行
Jquery中,有jQuery.noConflict()函数,将$符号的所有权剔除。所以:
<script>
jQuery.noConflict();
$(function(){
$("#box").get(0); //jquery将$符号所有权剔除,不执行
$("#box").ge(0); //base获得所有权,执行
})
</script>
为了让,jquery和base的函数都能执行,jquery支持$符号重新定义。如下:
<script>
jQuery.noConflict();
var $$ = jQuery;
$(function(){
$$("#box").get(0); //$$ 为jquery符号,执行
$("#box").ge(0); //$为base符号,执行
})
</script>