DOM对象与JQuery对象

本文探讨了jQuery对象与普通DOM对象之间的区别,并详细解释了如何在两者之间进行转换。作者通过具体案例展示了在使用Ajax请求时遇到的问题,以及如何解决由jQuery对象和DOM对象不兼容引起的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间写一个JsTree的应用时,曾经碰到过无法使用一个普通的dom对象,最后脑子不知道怎么一转,将原变量var变成了$(var)的形式就能作为JsTree中的函数参数了,当时只顾着解决了,过后也就没管这个问题了。
今天在项目中用Ajax的时候又碰到一个问题,让我有所想法,问题是这样的:以前用的是ajax是自己写的一个js文件,里面的回调方法中写的是var xml=xmlHttp.responseXML,然后我准备改成JQuery框架的简单实现,当然回调方法function(msg)中的参数msg就相当于前面xml变量了。可是问题来了,以前代码中的xml.documentElement写法现在不好使了,会报错,我纳闷,想了一会,又联想到上次的那个问题,我很肯定的觉得JQuery对象与一般的DOM对象有很大的不同,只是以前没有混着用,所以没在意,Google了一下,发现自己是对的。
--------------------
responseXML 属性返回 XML 文档对象,可使用 W3C DOM 节点树的方法和属性来检查和解析该对象。如:
var xmlDoc=xmlHttp.responseXML.documentElement;
document.getElementById("companyname").innerHTML=......

以下转载自:[url]http://www.ccvita.com/192.html[/url]

jQuery对象与dom对象的转换
最近在闲暇时间用jQuery搞了一个多文件上传的东东,顺便写点笔记。

一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的对象是一样的对象。所以一些新手就很迷惑,为什么${”#Element”}不能直接innerHTML,这就是原因所在,解决方式请看下文。

jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。

如:

$(document.getElementById("msg"))

则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:

$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:

$("#msg").html();
$("#msg")[0].innerHTML;
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值