Jquery学习笔记:获取jquery对象的基本方法
jquery最大的好处是将js对html页面的操作(读写)进行了封装,隔离了浏览器的差异性,并简化了操作,和提供了强大的功能。
在web页面中,所有的js操作都是围绕操作dom对象来的。而jquery对象就是对dom对象的封装。整个jquery代码的主要工作就是获取相应的jquery对象,然后调用对象的各种方法进行操作。也就是获取jquery对象是编写代码的核心和基础。
通过jquery提供的方式,可以有很多种获取jquery对象的方法,下面会介绍一些常用的方式。
在jquery中,是通过各式各样的选择器来获取jquery对象的。
选择器是一个字符串,传给$函数,返回jquery对象。
需要特别注意的, 一个jquery对象不是说就对应一个dom对象(html元素),而是包含1个或多个dom对象(即html元素)。
1、通过html元素的id值 获取对象
var obj = $("#userid");
alert(obj.length); //正常是1,因为id在html元素中必须是唯一的。即使不唯一,也只会返回包含一个元素的数组,是第一个满足id条件的元素.
alert(obj.selector); //显示的内容为 #userid
alert(obj.html()); //html()方法返回对应元素包含的html内容
2、通过html元素的标签 获取对象
如 $("body") 获取到body元素。独立采用这种方式的场景很少,因为一个html页面中标签是大量重复的。
比如$("div") 会获取到页面上所有标签为div的元素。
还有一种特殊的方式 $("*") 获取页面所有的元素。这个可能对一些工具有用,比如统计页面的一些数据。
3、通过css样式值获取jquery对象
在html页面中,每个元素的id是唯一的,而且一个元素只有1个id值。
但对于元素的样式则不一样,一个元素可以有多个样式值(如class="btn btn-default",这里有两个样式),不同的元素可以设置相同的样式值。
而且往往大部分场景是这样的,因为样式的设置就是可以用来共享,让不同的元素有同样风格的展示。
var obj = $(".btn");
alert(obj.length); //显示的数目是配置了样式为btn的元素个数
alert(obj.selector); //显示 .btn
alert(obj.html()); //因为obj中有多个元素,这里调用html()方法返回的是第一个元素包含的html内容
obj.each(function(index,data){ //each方法用于遍历obj中的元素
alert(index+"="+data.innerHTML); //index是序号,从0开始;data是对应的元素,这里需要注意的是,这里的data不是jquery对象,而是dom对象
});
4、组合选择
设置多个选择器,将每个选择器匹配到的元素合并在一起返回。注意,是合并的关系。不要和层次选择器混淆了。
如:
<div>
<p id="pid"></p>
<span class="cspan"></span>
<div></div>
</div>
js代码
var obj = $("#pid,.cspan"); //将id为pid 和 样式为 cspan的的元素都返回
alert(obj.length); //2
这种场景应用不多,完全可以分多次获取元素,合并在一起主要有时简化代码编写,比如对这些返回额元素执行一些共性的操作。
5、jquery对象和dom对象的互相转换
将dom对象传给$方法返回的就是jquery对象
var obj = document.getElementById("userid"); //通过原生的dom方法获取 dom对象
alert(obj.innerHTML); //显示dom对象包含的html内容
var jobj = $(obj); //将dom对象转换为jquery对象
alert(jobj.length); //显示1,因为只包含了1个dom对象
alert(jobj.html()); //调用jquery的方法,显示其包含的dom对象包含的html内容
直接通过下标引用就可以获取到jquery对象中包含的dom对象,如:
var obj = $("#userid");
var domObj = obj[0]; //因为这里的obj是通过id获取的,只包含一个dom元素,所以下标取0
alert(domObj.innerHTML); //获取dom元素的内容
如果对于包含多个dom对象的jquery对象,要想获取其中所有元素,可以通过下标获取,也可以通过前面介绍的each方法来遍历。
6、获取jquery对象中的某个jquery对象
通过选择器获取到的jquery对象可能包含多个dom对象。
这时我们可以通过 jqueryObj[序号] 或 jqueryObj.get(序号) 这两种方式获取到的是 dom对象。
要直接获取到jquery对象,需要用 jqueryObj.eq(序号) 这种方式。 或者通过 $(dom对象)将dom对象转成jquery对象。
7、小结
上面介绍了获取jquery对象最简单和基本的几种方式。下面的文章中会介绍更多的方法。
Jquery学习笔记:获取jquery对象的基本方法的更多相关文章
- jQuery 学习笔记:jQuery 代码结构
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...
- jQuery学习笔记之jQuery的Ajax(3)
jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- Jquery学习笔记:利用find和children方法获取后代元素
在很多场景下,需要根据一个已知的jquery对象,去查找其满足条件的后代节点. 这时可以利用 find函数和children来处理. find和children函数都可有一个参数,常见的是一个字符串, ...
- Jquery学习笔记:利用parent和parents方法获取父节点
通过选择器一般只能获取指定标识的节点,或者获取子节点. 有些场景下,往往需要根据当前节点找到满足条件的父节点.这个可以通过相应的方法来实现. 1.parent方法 该方法可以获取元素的直接父节点. 我 ...
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- jQuery学习笔记(jquery.simplemodal插件)
官网地址:http://www.ericmmartin.com/ SimpleModal是一个轻量级的jQuery插件,它为模式窗口的开发提供了一个强有力的接口,可以把它当作模式窗口的框架.Simpl ...
- jQuery学习笔记之jQuery.fn.init()的参数分析
这篇文章主要介绍了jQuery.fn.init()的参数分析,需要的朋友可以参考下 从return new jQuery.fn.init( selector, context, rootjQuer ...
- jQuery学习笔记(jquery.form插件)
官网: http://malsup.com/jquery/form/ jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Fo ...
- 锋利的jQuery学习笔记之jQuery选择器
在介绍jQuery选择器之前,先简单介绍一下CSS选择器---> 一.CSS选择器 常见的CSS选择器有以下几种: 选择器 语法 描述 示例 标签选择器 E{CSS规则} 以文档元素为选择符 t ...
随机推荐
- Sublime 操作技巧
吐槽一下:刚下载的subime不是等宽字体,空格.表达.字母i什么的都很窄,看着不方便: 根据网上说的换成等宽字体,试了好多种字体,字体变了.但宽度没变. 然后有装了soda,和相应的color-th ...
- Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器
Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...
- UVa----------1594(Ducci Sequence)
题目: 1594 - Ducci Sequence Asia - Seoul - 2009/2010A Ducci sequence is a sequence of n-tuples of inte ...
- HTTP协议一次上传多个文件的方法
如何通过HTTP协议一次上传多个文件呢?在这里有两个思路,是同一个方法的两种实现.具体程序还需自己去设计 1. 在form中设置多个文件输入框,用数组命名他们的名字,如下: < form act ...
- spring的定时执行代码 跑批
最近公司上线了抽奖的活动,活动需求 1:每天凌晨更新状态,实现自动开启和关闭活动 2:活动结束自动抽取中奖号码 在这里提供spring的定时调度功能 1:首先是配置文件 在你的web.xml中,查看配 ...
- hibernate Criteria查询 2.3
Criteria对象提供了一种面向对象的方式查询数据库.Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个持久化类的查询 查询所有 Session session ...
- (step8.2.4)hdu 1846(Brave Game——巴什博奕)
题目大意:输入一个整数t,表示测试用例是.接着输入2个整数n,m.分别表示这堆石头中石头的个数,和每次所能取得最大的石头数.判断那一方为赢家 解题思路: 1)这是一道简单的巴什博弈: 所谓巴什博弈,是 ...
- 宣布 Windows Azure 通过 PCI DSS 合规性验证并且 ISO 认证范围扩大,同时正式发布 Windows Azure Hyper-V 恢复管理器和其他更新功能
今天,我们高兴地宣布两个重大里程碑事件,客户将能借此提高基于 Windows Azure 构建安全且合规的应用程序的能力.此外,我们还宣布正式发布 Windows Azure Hyper-V 恢复管理 ...
- Roseonly:互联网轻奢品牌之路-搜狐IT
Roseonly:互联网轻奢品牌之路-搜狐IT Roseonly:互联网轻奢品牌之路
- Maven--几个需要补充的问题(三)
<Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)> 前两篇由于篇幅太长,为了给读者理解方便,这篇 ...