美文网首页
看jQuery与dom对象的区别

看jQuery与dom对象的区别

作者: 索伯列夫 | 来源:发表于2018-10-11 19:30 被阅读0次
var div = document.getElementById('x')  //1
var $div = $('#x')  //2

请说出 div 和 $div 的联系和区别。

一、区别:

div是dom对象,$div是一个jquery对象
div的原型链为:div->HTMLDivElement->HTMLElement->Element
$div的原型链为:$div0->jQuery.prototype

jQuery对象是什么意思呢?

就是通过jQuery包装DOM对象后产生的对象,是jQuery独有的,可以使用jQuery里边的方法。比如下边两个代码是等价的:

<div id="x">test</div>

var div = document.getElementById('x')
var $div = $('#x')

在这里,div作为DOM对象不能使用jQuery里边的方法,同样的$div作为jQuery对象,也不能使用DOM方法。

jQuery的方法有:text(), html(), val(), attr(), append(), prepend(),after(), before(), remove(),addClass(), removeClass(), toggleClass()等等...

DOM方法有:getElementById(), getElementByTagName(), appendChild(), removeChild(), createAttribute()

二、转化

1.DOM转jQuery

只需要用$()将DOM对象包装起来就可以~下来就可以使用jQuery方法

<div id="x">test</div>
var div1 = document.getElementById('x')
$(div1).css('color','red')

2.jQuery转DOM

方法一:jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

<div id="x">test</div>
var $div = $('#x')
var d = $div[0]

d.innerHTML = 'hi'  //hi

方法二:jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

<div id="x">test</div>
var $div = $('#x')
var d = $div.get(0)

d.innerHTML = 'hello'  //hello

相关文章

网友评论

      本文标题:看jQuery与dom对象的区别

      本文链接:https://www.haomeiwen.com/subject/xqhiaftx.html