jQuery 学习过程笔记
1:$符号表示jQuery 可以等价为$=jQuery
例如: $(); == jQuery();
$(function(){alert("$表示的是什么")}); == jQuery(function(){alert("$符号表示的就是jQuery")});
2:DOM对象和jQuery对象的相互转化(jQuery对象不能调用DOM对象,DOM同样不能够调用jQuery对象)
a)jQuery对象转化为DOM对象时只需调用jQuery对象的方法或者属性即可
例如:
$(
function(){
var $li = $("li") ;// jQuery方法$("li")获得jQuery对象集合 li 数据
var li = $li[0] ; // 通过jQuery 对象的下标获得某个DOM对象,此时转化完成
//现在便可以调用li的DOM方法或属性了
});
b)DOM对象转化为jQuery对象,直接调用$()函数即可转化
例如:
$(
function(){
var li = document.getElementByTagNames("li"); //获取所有li集合
var $li = $(li[0]); //直接调用$()函数转化为jQuery对象 ,这里面我们
//也可以直接用$()函数转化整个li数组,即:var $li = $(li);
alert($li.html());
}
);
jQuery对象不能调用DOM对象,DOM同样不能够调用jQuery对象
例如:
<script type="text/javascript" >
$(function(){
var $li = $("li");
var li = $li.get(0);
$li.append($("<li> new item </li>"));
alert(li.innerHTML);
});
</script>
打印效果如图:
- the one li
- new item
- the two li
- new item
- the thred li
- new item
如果我们替换红色代码为$li.get(0).append($("<li>new item</li>"));则得不到我们想要的
结果,原因jQuery对象经过get(index)的转化后,该对象已经转化为了DOM对象,append
为jQuery对象,所以结果不正确,另:var li = $(li[0]);同样是转化。
注意:区分 $(li); $li ; $("li") 的不同含义$(li)转化,$li设置jQuery对象 ,$("li")获取li对象。
3:jQuery的ready和DOM的onload方法的区别
在没有外部文件需要加载的情况下,两者的效果一致,在有外部文件加载的时候,ready优于onload(同步性)
解释:jQuery的ready是在DOM绘制完成之后执行的,onload则是在页面完全加载之后才执行,了解此知识需要
了解浏览器对网页的加载顺序。不赘述(在有外部文件加载的时候用jQuery的ready(),没有两者都可以);补充
DOM对象onload一个网页中只能被执行一次,而jQuery的ready事件可以被执行任意次($(function(){jQuery代码}))
4:$("id") 效果等价 document.getElementById("id") 但是 功能不等价 前者有转化为jQuery对象功能,可以在$("id")
后调用jQuery方法,而后者不能。
//********************************未完待续****************************//
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。