今天看JqueryAPI (<-点击可查看)的each()的时候,遇到了一个概念:就是DOM对象与jQuery对象。如下图,然后就查阅了资料了解了一下。
首先可以看两行代码,就知道DOM对象和jQuery对象了。
var domObj = document.getElementById("name"); //domObj则为DOM对象
var jQueryObj = $("#name"); //jQueryObj则为jQuery对象
通过获取元素的方式不同,分为DOM对象和jQuery对象,使用时需要注意DOM对象只能调用JS内的方法不可以使用jQuery的方法;jQuery对象也是只能使用jQuery的方法,两者不能串着使用。如下代码:
domObj.innerHTML = "dom"; //innerHTML为JS的方法
console.log(domObj.innerHTML); //dom
jQueryObj.html("jQuery"); //html()是对应于innerHTML的jQuery方法
console.log(jQueryObj.html()); //jQuery
console.log(jQueryObj.innerHTML); //undefined
console.log(domObj.html() ); //报错
另一个点:DOM对象与jQuery对象是可以相互转化的。方式如下:
1. jQuery对象转为DOM对象:
首先需要知道,jQuery对象是数组对象!通过下标的方式可以转化为DOM对象,有两种方式,如下
var jQueryToDom = jQueryObj[0];
//或者
var jQueryToDom = jQueryObj.get(0);
2.DOM对象转化为jQuery对象:
通过$()将DOM对象进行封装,就转换为jQuery对象了,如下:
var domTojQuery = $(domObj);
》》》最后还有一些今天看到的有关each()方法的知识点:
需要注意的一点就在第一张图片中的那一句话,在each()函数中有关this指代的问题需要区分:this指代的是DOM对象;而$(this)指代的是jQuery对象。两者均可在each()中使用,但需要注意DOM对象与jQuery对象要使用的方法是区分的!用this只能是JS的方法,用$(this)只能使用jQuery内的方法!!!