JS学习笔记(二).eq()与[]的区别

首先我们假设一个html中有以下元素:

<div class="sel"></a>
<div class="sel"></a>
<div class="sel"></a>

使用JQ选择元素的时候

$('.sel')//我们选择了三个元素
$('.sel').eq(0)//我们选择了第一个div,它是一个JQ对象,不可以使用dom属性和方法
$('.sel')[0]//我们也是选择了第一个div,但是这是一个dom对象,可以使用dom属性方法,但不可以使用JQ的属性方法

$('.sel').eq(0)[0]//选择第一个div并转换为dom对象,同上
$('.sel')[0].eq(0)///错误,dom对象无法使用JQ方法,因为.eq()是JQ的方法

那么,JQ的对象与dom的对象有什么区别呢?

DOM对象
  DOM对象是通过面向对象的方式描述的文档模型模型
  通过DOM可以访问所有的HTML元素,创建新的元素以及修改删除元素及其属性


JQuery对象
  JQuery对象是一个Javascript数组
    数组包含的信息
      jquery 当前的JQuey框架版本号
      length 指示这个数组的元素个数
      context 一般指向htmlDocument对象
      selector 传递进来的选择器内容


  JQuery对象是通过JQuery对象包装DOM对象产生的对象,是JQuery独有的,所以JQuery对象不能使用DOM方法。反之,DOM对象不能使用JQuery方法。


两者之间的转换

var domElement = $(".sel")[0];
//JQuery转换为Dom对象
var jqElement = $(domElement);
//Dom对象转化为JQuery对象
//获取JQuery对象
var jqElement = $("id");
//获取dom对象
var domElement = document.getElementById("id");

 

posted @   mingruqi  阅读(958)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示