DOM对象和Jquery对象相互转换

661 阅读1分钟

因为原生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对象