首页 > 代码库 > jQuery对象和DOM对象的互相转换【 转】
jQuery对象和DOM对象的互相转换【 转】
jQuery对象转换为dom对象
只有jQuery对象才能调用jQuery类库的各种函数,同样有些dom对象的属性和方法在jQuery上也是无法调用的,不过基本上jQuery类库提供的函数包含了所有的dom操作。
jQuery对象的索引保存的是dom对象,所以可以通过索引将经jQuery对象转化为dom对象(实际上是获取保存在jQuery对象中的dom对象)。
$(“#myphoto”)[0];
通过索引返回dom对象后,就可以使用各种dom对象的方法和属性,比如获取dom对象的src属性:
Alert($(“#myphoto”)[0].src);
如果想要遍历jQuery对象中的每个元素,通常使用each()函数。
Echo(callback);
Callback()是一个回调函数,此函数中的this也指向dom元素。
$(“#myphoto”).each(function(i){
This,src=http://www.mamicode.com/”test”+i+”.jpg”;
});
Dom对象转化为jQuery对象
如果已经获得了一个dom对象,可以使用“jQuery(elements)”函数将其转化为jQuery对象:
Var img=document.getElementById(“myphoto”);
jQuery(img).css(“border”,”solid 2px #FF0000”);
上面代码中img是使用dom获取到的dom对象。将其转化为jQuery对象后就可以使用jQuery对象的css()方法更改其样式。
可以使用“$”代替“jQuery”,因为在jQuery的内部有如下实现:
jQuery=window.jQuery=window.$
“$”字符在javascript中可用做变量名,并且可以作为前缀出现。但是一些其他的类库或者是程序可能已经使用了”$”作为变量名。
jQuery(img).css(“border”,”solid 2px #FF0000”);
$(img). css(“border”,”solid 2px #FF0000”);
以上两条语句是等同的。
“jQuery(elements)”函数的elemients参数还可以是jQuery对象,虽然讲一个jQuery对象在次转化没有意义,这是为了当不确定一个对象的类型是jQuery对象还是dom对象时,可以再次调用此函数进行转化,这样可以保证此对象一定是jQuery对象。
jQuery对象和DOM对象的互相转换【 转】