随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 

Dom对象与jQuery对象的转换

(1) DomjQuery包装集

如果要使用jQuery提供的函数就要首先构造jQuery包装集我们可以使用本文即将介绍的jQuery选择器直接构造jQuery包装集,比如:

$("#testDiv");
上面语句构造的包装集只含有一个idtestDiv的元素.
或者我们已经获取了一个Dom元素,比如:
var div = document.getElementById("testDiv");
上面的代码中div是一个Dom元素, 我们可以将Dom元素转换成jQuery包装集:
var domToJQueryObject = $(div);
小窍门:因为有了智能感知, 所以我们可以通过智能感知的方法列表来判断一个对象啊是Dom对象还是jQuery包装集.

(2) jQuery包装集转Dom对象

jQuery包装集是一个集合, 所以我们可以通过索引器访问其中的某一个元素:

var domObject = $("#testDiv")[0];

注意, 通过索引器返回的不再是jQuery包装集, 而是一个Dom对象!

jQuery包装集的某些遍历方法,比如each(), 可以传递遍历函数, 在遍历函数中的this也是Dom元素,比如:

$("#testDiv").each(function() { alert(this) })


如果我们要使用jQuery的方法操作Dom对象,怎么办? 用上面介绍过的转换方法即可:

$("#testDiv").each(function() { $(this).html("修改内容") })


小结: 先让大家明确Dom对象和jQuery包装集的概念, 将极大的加快我们的学习速度. 我在学习jQuery的过程中就花了很长时间没有领悟到两者的具体差异, 因为书上并没有专门讲解两者的区别, 所以经常被"this指针为何不能调用jQuery方法"等问题迷惑直到某一天豁然开朗, 发现只要能够区分这两者, 就能够在写程序时变得清清楚楚.

 

posted on   钱途无梁  阅读(1064)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示