在调用时要注意当前的对象是jQuery对象还是DOM对象,jQuery对象只能使用jQuery中的方法如:
$('p').html(),而不能使用$('p').innerHTML
DOM对象只能使用的DOM的方法如document.getElementById("p").innerHTML
但在jQuery中可以使用this关键字返回当前的DOM对象如:
$("input").each(function(){
alert(this.id);//用DOM的方式
alert($(this).attr("id"))//jQuery的方式
})
普通的dom对象一般可以通过$()转换成jquery对象。
如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合(返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法)。
所以如果 jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,
其中$(exp).get(0) 等效于$(exp)[0]。
可以使用dom中的方法,但不能再使用Jquery的方法。
还要注意的是
eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。
$("#msg").html();
$("#msg")[0].innerHTML;( 经常新手会 $("#msg")[0].html() ,当然这是错误的写法。)
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
$('p').html(),而不能使用$('p').innerHTML
DOM对象只能使用的DOM的方法如document.getElementById("p").innerHTML
但在jQuery中可以使用this关键字返回当前的DOM对象如:
$("input").each(function(){
alert(this.id);//用DOM的方式
alert($(this).attr("id"))//jQuery的方式
})
普通的dom对象一般可以通过$()转换成jquery对象。
如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合(返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法)。
所以如果 jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,
其中$(exp).get(0) 等效于$(exp)[0]。
可以使用dom中的方法,但不能再使用Jquery的方法。
还要注意的是
eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。
$("#msg").html();
$("#msg")[0].innerHTML;( 经常新手会 $("#msg")[0].html() ,当然这是错误的写法。)
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;