jQuery 教程 (二) 万能的选择器1 .NET

ASP.NET和jQuery的实战食谱 在现代Web开发中,ASP.NET作为Microsoft开发的一个服务器端的Web应用框架,经常需要与强大的客户端JavaScript库如jQuery进行整合,以提高页面的交互性和动态效果。ASP.NET和jQuery的结合可以优化用户体验,增强Web应用的功能性,但如何有效地将二者结合使用,是许多开发者需要掌握的技能。在开始使用jQuery之前,开发者需要选择合适的jQuery版本和库。由于不同的项目需求和目标用户的浏览器兼容性不同,选择合适的版本至关重要。 阅读详情

一.摘要

本章讲解jQuery最重要的选择器部分的知识. 有了jQuery的选择器我们几乎可以获取页面上任意的一个或一组对象, 可以明显减轻开发人员的工作量.

二.前言

编写任何javascript程序我们要首先获得对象, jQuery选择器能彻底改变我们平时获取对象的方式, 可以获取几乎任何语意的对象, 比如"拥有title属性并且值中包含test的<a>元素", 完成这些工作只需要编写一个jQuery选择器字符串. 学习jQuery选择器是学习jQuery最重要的一步.

三.Dom对象和jQuery包装集

无论是在写程序还是看API文档, 我们要时刻注意区分Dom对象和jQuery包装集.

1.Dom对象

在传统的javascript开发中,我们都是首先获取Dom对象,比如:

    var div = document.getElementById("testDiv");
    var divs = document.getElementsByTagName("div");


我们经常使用 document.getElementById 方法根据id获取单个Dom对象, 或者使用 document.getElementsByTagName 方法根据HTML标签名称获取Dom对象集合.

另外在事件函数中, 可以通过在方法函数中使用this引用事件触发对象(但是在多播事件函数中IE6存在问题), 或者使用event对象的target(FF)或srcElement(iIE6)获取到引发事件的Dom对象.

注意我们这里获取到的都是Dom对象, Dom对象也有不同的类型比如input, div, span等. Dom对象只有有限的属性和方法:

image

2.jQuery包装集

jQuery包装集可以说是Dom对象的扩充.在jQuery的世界中将所有的对象, 无论是一个还是一组, 都封装成一个jQuery包装集,比如获取包含一个元素的jQuery包装集:

var jQueryObject = $("#testDiv");


jQuery包装集都是作为一个对象一起调用的. jQuery包装集拥有丰富的属性和方法, 这些都是jQuery特有的:

image


3.Dom对象与jQuery对象的转换

(1) Dom转jQuery包装集

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

$("#testDiv");

上面语句构造的包装集只含有一个id是testDiv的元素.


或者我们已经获取了一个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方法"等问题迷惑. 直到某一天豁然开朗, 发现只要能够区分这两者, 就能够在写程序时变得清清楚楚.

四. 什么是jQuery选择器

在Dom编程中我们只能使用有限的函数根据id或者TagName获取Dom对象.

在jQuery中则完全不同,jQuery提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象以jQuery包装集的形式返回.

首先来看看什么是选择器:

    //根据ID获取jQuery包装集
    var jQueryObject = $("#testDiv");


上例中使用了ID选择器, 选取id为testDiv的Dom对象并将它放入jQuery包装集, 最后以jQuery包装集的形式返回.

"$"符号在jQuery中代表对jQuery对象的引用, "jQuery"是核心对象, 其中包含下列方法:

jQuery( expression, context )
Returns: jQuery

这个函数接收一个CSS选择器的字符串,然后用这个字符串去匹配一组元素。

This function accepts a string containing a CSS selector which is then used to match a set of elements.

jQuery( html, ownerDocument )
Returns: jQuery

根据HTML原始字符串动态创建Dom元素.

Create DOM elements on-the-fly from the provided String of raw HTML.

jQuery( elements )
Returns: jQuery

将一个或多个Dom对象封装jQuery函数功能(即封装为jQuery包装集)

Wrap jQuery functionality around a single or multiple DOM Element(s).

jQuery( callback )
Returns: jQuery

$(document).ready()的简写方式

A shorthand for $(document).ready().


上面摘选自jQuery官方手册.Returns的类型为jQuery即表示返回的是jQuery包装集.其中第一个方法有些问题, 官方接口写的是CSS选择器, 但是实际上这个方法不仅仅支持CSS选择器, 而是所有jQuery支持的选择器, 有些甚至是jQuery自定义的选择器(在CSS标准中不存在的选择器). 为了能让大家理解的更清楚, 我将方法修改如下:

jQuery( selector, context )
Returns: jQuery 包装集

根据选择器选取匹配的对象, 以jQuery包装集的形式返回. context可以是Dom对象集合或jQuery包装集, 传入则表示要从context中选择匹配的对象, 不传入则表示范围为文档对象(即页面全部对象).

上面这个方法就是我们选择器使用的核心方法.可以用"$"代替jQuery让语法更简介, 比如下面两句话的效果相同:

    //根据ID获取jQuery包装集
    var jQueryObject = $("#testDiv");

    //$是jQuery对象的引用:
    var jQueryObject = jQuery("#testDiv");


接下来让我们系统的学习jQuery选择器.

PCIe设备内存访问实战:从ioremap到DMA映射的完整流程解析 本文深入解析了PCIe设备内存访问的完整流程,涵盖从CPU通过ioremap访问设备寄存器,到设备通过DMA映射高效读写主机内存的核心机制。详细探讨了虚拟地址、物理地址与总线地址的转换关系,对比了一致性与流式DMA映射的适用场景及同步要点,并阐述了IOMMU在安全与效率中的作用,为驱动开发者提供了实战代码与关键陷阱分析。 阅读详情

相关推荐

Canoe主要功能的详细介绍

CANoe是德国Vetor公司推出的一款用于总线开发的设备,全程为CAN open environment。后来随着总线技术的发展,CANoe不仅限于CAN类型的总线开发,还包含LIN、FlexRay、MOST和以太网等开发。在车载网络和ECU开发、测试和分析方面,CANoe几乎长期占据着垄断地位,当然是因为其强大的功能性了。目前用这个工具的主要是整车厂和供应商的网络设计工程是、开发工程师和测试工程师。小编当时安装CANoe的时候也是花了一定的时间和精力,好在没有崩溃。

车载测试 3723

jQuery框架学习第二天:jQuery中万能的选择器

jQuery框架学习第二天:jQuery中万能的选择器 jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuery操作元素的属性与样式jQuery框架学习第五天:事件与事件对象jQuery框架学习第六天:jQuery中的Ajax应用jQuery框

影子的影子在这里看你 404

从零到一:AVL Cruise与Matlab联合仿真DLL配置的避坑指南

本文详细介绍了AVL Cruise与Matlab联合仿真DLL配置的全流程,包括编译器选择、环境变量设置、DLL编译与模型导出等关键步骤。针对常见问题如版本匹配、路径错误等提供了实用解决方案,帮助工程师高效实现控制策略与整车性能仿真的无缝对接。

weixin_29054399的博客 567

jQuery 教程 (二) 万能的选择器2 .NET

五.jQuery选择器全解 通俗的讲, Selector选择器就是"一个表示特殊语意的字符串". 只要把选择器字符串传入上面的方法中就能够选择不同的Dom对象并且以jQuery包装集的形式返回. 但是如何将jQuery选择器分类让我犯难. 因为书上的分类和jQuery官方的分类截然不同. 最后我决定以实用为主, 暂时不去了解CSS3选择器标准, 而按照jQuery官方的分类进行讲解. j

丨Fanny丨Cri 358

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

RT-Thread与ROS2通信:micro-ROS在STM32上的移植实践

本文详细介绍了在STM32平台上使用RT-Thread实时操作系统移植micro-ROS实现与ROS2通信的实践方案。通过对比rosserial方案,重点阐述了micro-ROS基于XRCE-DDS协议栈在数据可靠性(丢包率低于1%)、双模式通信(UDP/串口)以及C/C++混合编程方面的优势,为嵌入式设备与ROS2的高效通信提供了完整解决方案。

emacs5lisp的博客 327

jQuery 教程 (二) 万能的选择器3 .NET

六 jQuery选择器实验室 jQuery选择器实验室使用的是"jQuery实战"一书中的代码, 感觉对于学习选择器很有帮助. 我们的实验对象是一个拥有很多元素的页面: 在实验室页面的"Selector"输入框中输入jQuery选择器表达式, 所有匹配表达式的元素会显示红框: 如上图所示, 在输入".myList"后点击"Apply", 下面的输出框会显示运行结果, 右侧会

丨Fanny丨Cri 483

Apollo 9.0 速度非线性规划算法 – piecewise jerk speed nonlinear optimizer Ⅰ

二次规划的速度规划算法(PiecewiseJerkSpeedOptimizer)的存在两个问题: 这里以一张图来说明上面的问题,假设存在一个实际限速区间(或曲率很大需要降速的区间)[S1, S2],PiecewiseJerkSpeedOptimizer的做法是根据动态规划的st曲线(黑色),找到具体的时间区间[T1, T2],然后对区间[T1, T2]内所有的点施加约束或惩罚。但是二次规划平滑后的曲线(黄色)发生了变化,那么限速区间[S1, S2]对应的时间区间[T1, T2]也发生了变化,所以实际应该是对

WaiNgai 333

ASP.NET jQuery 秘籍(一)

jQuery 是一个轻量级的 JavaScript 库,它改变了 web 应用中客户端脚本的格局。它由 John Resig 在 2006 年开发,由于它的跨浏览器兼容性和用更少的代码做更多的事情的能力,它在网络上掀起了一股风暴。这个库得到了活跃的开发人员社区的支持,并且在过去几年里得到了显著的发展。使用 jQuery 简化了许多客户机脚本任务,例如事件处理、嵌入动画、编写支持 Ajax 的页面等等,并增加了最终用户的交互体验。它的可扩展插件架构使开发人员能够在核心库的基础上构建额外的功能。

龙哥盟 841

uniapp - web-view嵌套H5网页白屏问题,<web-view>页面跳转出现白屏情况,强力解决uniapp嵌套webview页面时出现无法加载并白屏(无论本地还是线上H5网页链接都能解决)

uniapp微信小程序,uniapp APP端,uni-app web-view嵌套H5项目白屏问题分析及解决,uniapp嵌套webview页面时,出现白屏,uniapp <web-view>页面跳转出现白屏解决方法,uniapp <web-view>页面跳转出现白屏解决方法,解决uniapp的web-view打开网页在老手机上出现白屏的问题,uni-app web-view白屏处理,引入本地网页白屏,WebView 加载不出网页,一片空白webview白屏加载不出来,使用webview加载链接后白屏,u

🏆 前端领域优质创作者 1万+

6D位姿估计系列(一)

本研究提出FoundationPose,一个统一的基础模型框架,支持基于CAD模型和无模型的6D物体姿态估计与跟踪。通过神经隐式表示实现高效新视图合成,结合大规模合成数据训练和对比学习策略,模型展现出强大的泛化能力。实验表明,该方法在LINEMOD、YCB-Video等多个基准数据集上显著优于现有专门化方法,处理速度达32Hz,且无需目标域微调。该工作为多场景物体姿态估计提供了通用解决方案。

qq625924821的博客 562

ASP.NET 2.0中的jQuery选择器-3.5

Just a quick little trick I learned recently. Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax: 我最近学到的一个小技巧。 现在,我在asp...

cunchi8090的博客 184

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

面向 .NET 开发者的 JavaScript 教程(二)

我们将从这个章节开始,先对 jQuery 作一个简短的介绍。jQuery 是一个 JavaScript 库,旨在通过编写更少的代码来提供更好的开发体验和更快的编程体验,与纯 JavaScript 相比,它可以更快地执行复杂操作。然而,当编写特定原因的自定义脚本时,JavaScript 仍然存在。因此,jQuery 可以帮助你进行 DOM 操作,根据类、元素名称等选择元素,并提供一个更好的事件处理模型,使开发者在他们的日常项目中使用更为简单。与 JavaScript 相比,另一个优点是跨浏览器问题。它提供了跨

龙哥盟 856

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

.net中在读取控件的class或ID不同方式的不同意义- jquery选择器

$("parent > child") - 在(父亲)parent的儿子中找符合条件的儿子(child)等同于$("parent").children("child"); 1 <div> 2 <span>123</span> 3 <p> 4 <span>456</span> ...

Hyh0629的博客 192

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

.net前端基础(一)选择器

一、基本选择器点击按钮(click点击事件)切记一定不要忘记基本选择器的格式,如#和.{选择id为one的div元素元素并添加背景颜色 $("#btn1").click(function () {                $("#one").css("background","red");            });选择class为mini的元素并添加背景颜色$("#btn2").clic...

长安城上花的IT征程 775

视频教程-JQuery快速入门教程-jQuery

JQuery快速入门教程 主要研究方向为J2EE、.net 、数据库 、前端...

weixin_34768268的博客 205

jquery 选择器(2) 过滤选择器

一丶 基本过滤选择器:first和:last(取第一个元素或最后一个元素) $('span:first').css('color', 'red'); $('span:last').css('color', 'black');:not(取非元素) $('div:not(.classNot)').css('color', 'red');:even和:odd(取偶数索引或奇数索引元素,索引从0开

哒哒嘀嗒 553

用jQuery访问ASP.Net WebControl丑陋的ClientID方法

<br /><br /><br />当我们制作Web页面时通常会在客户端使用JavaScript动态的更改一个控件的属性,举例:<html> <head> <script type="text/javascript"> $(document).ready(function () { $("#btnSubmitMessage").click(function () { $("#lblMessage").text($("#txtMessage").val()); }); });

i'm DiNK 2602

Kendo UI for jQuery 入门教程:ASP.NET Web Forms 整合jQuery开发

在现代Web开发中,jQuery作为最流行的JavaScript库之一,为开发者提供了简洁高效的DOM操作方式。本文将详细介绍如何在ASP.NET Web Forms项目中整合jQuery,并通过一个简单的问候应用演示两者的结合使用。 ## 环境准备 首先需要创建一个ASP.NET Web Application项目,命名为"HellojQuery"。项目创建完成后,我们需要: 1. 删除项

gitblog_00295的博客 384

ASP.NET jQuery 秘籍(二)

事件是当用户与网页交互或某些里程碑(如在浏览器中加载页面)完成时发生的动作。移动鼠标、按下一个键、单击按钮或链接、在字段中键入文本或提交表单,这些都对应于页面生命周期中引发的常见事件。这些事件可以是用户发起的,也可以是系统发起的。事件处理程序是当特定事件发生时执行的函数。为特定事件编写事件处理程序称为连接或绑定事件。事件处理程序帮助开发人员利用事件并编写所需的操作。当处理事件时,务必熟悉一种称为事件委托的机制。此特性使您能够将单个事件处理程序附加到父元素,而不是将单个事件处理程序附加到每个子元素。

龙哥盟 512
上一篇: jQuery 教程 (一) 开天辟地入门篇 (.NET)
下一篇: jQuery 教程 (二) 万能的选择器2 .NET
Fanny
博客等级 码龄20年 9粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值