js类型的对象和jquery类型的对象,是完全不同的两种对象。然而,两种对象的方法并不能相互调用。那么js对象如果想调用jquery里的方法,或者jquery对象想调用js的方法,怎么办?这时候涉及到js对象和jquery对象的相互相互转换的问题。
在JQuery中核心函数 是 $()
直接传一个函数 则类似于$(document).ready函数
如果传选择器 则类型与 document.querySelect();
调用JQuery封装好的JS事件或者属性函数
//区分JS和JQuery的元素循环方式
//JS方式
var ds = document.getElementsByTagName("div");
for(var i = 0 ; i < ds.length;i++){
ds[i].innerHTML="i="+i;
}
//JQuery方式
$("div").each(function(i,e){
//在当前遍历内部获取到的元素对象时JS对象
// e.innerHTML="i="+(i+1);
//this可以在JQuery中表示当前遍历到的JS对象
console.log("i="+$(this).html());
})
在使用JQuery时一定要确认当前放回的是JS对象还是JQuery对象
JS对象和JQuery对象的相互转换
从JS对象转换成JQuery对象 只需要用核心函数($())进行封装
从JQuery对象转换成JS对象直接获取其对应下标的元素即可
//返回的是JS对象
var d = document.getElementById("one");
console.log(d);
$(d).html("xxx");
//返回的是JQuery对象 不能使用JS方法
var d1 = $("#one");
console.log(d1);
//d1[0] d1.get(0)
d1.get(0).innerHTML="yyy";