求解dom,js和jq对象转换的一些问题

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-1.11.3.js" ></script>
    </head>
    <body>
        <div class="test1">12123</div>
        <script>
            var obj1 = document.getElementsByClassName("test1");
            var obj2 = document.querySelector(".test1");
            var $obj3 = $(".test1")
            console.log(obj1,$(obj1))
            console.log(obj2,$(obj2))
            console.log($obj3)
        </script>
    </body>
</html>

1.dom对象就是js对象么?
2.obj1和obj2是一样的吗?
3.$(obj1),$(obj2)和$obj3这三个是什么关系?相等的吗?还是?
谢谢

阅读 2.6k
4 个回答

第一个问题:DOM是 js 对象
第二个问题:obj1、obj2、obj3返回结果都是同一个标签
第三个问题:obj1、obj2、obj3他们直接关系就相当于,你上班去公司选择不同的交通工具一样,最终的目的都是到公司,只是方式不同

实际上你使用的$()的方式就是jquery对象,这样的意义在于可以使用jquery的方法,也可以使用链式调用

一样的 jq只是帮你简化了选取dom的方法而已 最终都是获取dom节点

  1. 关于DOM,建议先过遍MDN的DOM概述。简单来说呢,DOM是访问HTML文档的接口,它可以提供面向javascript的形式就是包装成DOM对象。

  2. obj1不等于obj2。getElement/s~返回的是实时元素,而querySelector~返回的是非实时元素。

  3. 这哥仨都是jQ封装对象,是不是相等你自己console呗~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题