首先,我们已经明白,
(1)Jquery=Javascript库(JS库)
(2)$(function(){});===jquery(function(){});
即"$===jQuery"
1、window.onload和$(document).ready()两个方法的区别
(1)在Javascript在页面加载时,需要使用window.onload
注意:a、必须等待页面全部加载完毕(包括图片),在执行包裹代码;
b、只能执行一次,如果有第二次,则第一次就会被覆盖;
c、无简写方式
(2)在Jquery页面加载时,使用的是$(document).ready()
注意:a、在DOM结构加载完毕时,就可以执行包裹代码;
b、可以执行多次,且后边的不会覆盖前边的;
c、有简写方式,如“$(function(){})”
2、解决Jquery与其他库的冲突
<script type="text/javascript" src="base.js">
<script type="text/javascript" src="jquery.js"></script>
(1)jQuery在其他库之后导入
在这种条件下,“$”的所有权归jQuery库所有,base库由于冲突会失去作用。
解决办法:采用noConflict()方法解决冲突。
jQuery.noConflict(); //将$所有权剔除
var $$=jQuery;
$(function(){
alert($('#box').get(0));
alert($$('#box').width());
});
在这种情况下,“$”的所有权归base库所有,即jQuery可以直接用jQuery对象调用,也可以用$$代替jQuery。
var $$=jQuery;
$(function(){ //这里是base的$
alert($('#box').get(0)); //这里是base的$
alert($$('#box').width()); //这里是jQuery的$
});