因为原生JS包含的事件类型范围比Jquery更广,并且Jquery没有封装原生JS的一些属性和方法,所以要想使用这些属性和方法需要把Jquery对象转换为DOM对象才可以使用。(直接使用DOM对象也是可以的)
DOM对象转换为Jquery对象
<ul>
<li class="active"><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">About</a></li>
</ul>
<script>
$(function(){
var li=document.querySelector('.active')
$(li) //DOM对象转换为Jquery对象
});
</script>
Jquery对象转换为DOM对象
<span>
你好!
</span>
<script>
$(function(){
//方式一
console.log($("span")[0].innerText) //Jquery对象转换为DOM对象
//方式二
console.log($("span").get(0).innerText) //Jquery对象转换为DOM对象
});
</script>
我们可以看到Jquery对象转换为DOM对象采用的是数组索引的方式,是因为Jquery对象实际上是DOM的一种封装,封装成对象数组的形式,span只有一个DOM节点,因此对象数组$("span")就只有一个对象,也就是$("span")[0]就是我们要的DOM对象