读jQuery官方文档:jQuery对象
jQuery对象
当用$符号包裹一个CSS风格选择器的时候,你得到一个jQuery对象。
var heading = $('h1');
jQuery对象是对DOM ELement封装过后的数组。注意,无论选择器匹配了多个或者零个元素,jQuery对象都不再是false。意味着你只能够用jQuery对象的.length属性来判断选择器是否选中了元素。
if ($('h1')) {
	//do something
}
如果我想要得到页面中第一个匹配的元素呢?
var headings = $('h1');
var firstHeading = headings.eq(0);
.eq(0)返回第一个匹配元素的jQuery对象。如果你想要原生的DOM对象,你可以
var headings = $('h1');
firstHeadingElem = headings.get(0);
或者
var firstHeadingElem = $('h1')[0];
鉴于jQuery对象和DOM对象是有区别的,所以在命名的时候最好是区分好两者,可以使用$符号前缀来表示jQuery对象:
var elem = document.getElementById('exmaple');
var $elem = $('#example');
另外需要记住的是,由于每次调用$()的时候,都会在内存中生成新的独立的jQuery对象,所以,「Not all jQuery Objects created equally.」
var $heading1 = $('h1');
var $heading2 = $('h1');
alert($heading1 === $heading2);  //false
即使两个jQuery对象的内容是相同的,也不意味这他们是同一个对象(物理地址不一样)。
但是,可以获取到他们都包含着的相同的DOM对象:
var $logo1 = $('#logo');
var logoElem1 = $logo1.get(0);
var $logo2 = $('#logo');
var logoElem2 = $logo2.get(0);
alert(logoElem1 === logoElem2);   //true
最后,jQuery对象不是「活」的。jQuery对象生成的时候,它成为了一个封装过的选择器匹配结果的「快照」。也就是说,在jQuery对象生成后,对相关元素做出了改变不会反映到jQuery对象上。
var $p = $('p');
在$p声明之后,对页面p元素的作出任何修改(remove、update)都不会影响到$p这个jQuery对象。如果想要更新这个jQuery呢?可以重新生成一个:
$p = $('p');
读jQuery官方文档:jQuery对象的更多相关文章
- 读BeautifulSoup官方文档之与bs有关的对象和属性(1)
		自从10号又是5天没更, 是, 我再一次断更... 原因是朋友在搞python, 老问我问题, 我python也是很久没碰了, 于是为了解决他的问题, 我只能重新开始研究python, 为了快速找回感 ... 
- 读vue-cli3 官方文档的一些学习记录
		原来一直以为vue@cli3 就是创建模板的工具,读了官方文档才知道原来这么有用,不少配置让我长见识了 Prefetch 懒加载配置 懒加载相信大家都是知道的,使用Import() 语法就可以在需要的 ... 
- 读jQuery官方文档:$(document).ready()与避免冲突
		$(document).ready() 通常你想在DOM结构加载完毕之后才执行相关脚本.使用原生JavaScript,你可能调用window.onload = function() { ... }, ... 
- 读jQuery官方文档:数据方法与辅助方法
		数据方法 有时候你可能想要在元素上面储存数据.由于浏览器兼容性问题,用原生JavaScript处理元素上的数据可能会造成内存溢出,jQuery可以帮你自动处理这些问题: //储存和取出元素数据 $(' ... 
- 读jQuery官方文档:样式
		样式 使用jQuery,无论是设置或者获取元素样式都十分简便. // 支持驼峰式和分割线式,两种方式等价(原生JavaScript只支持驼峰式) $('h1').css('fontSize'); $( ... 
- 读jQuery官方文档:遍历
		遍历 jQuery的快捷遍历方法可以快速定位到想要的元素.查找祖先元素 html<div class="grandparent"> <div class=&quo ... 
- 读BeautifulSoup官方文档之与bs有关的对象和属性(3)
		上一节说到.string的条件很苛刻, 如果某个tag里面包含了超过一个children, 就会返回None, 但是这里提供另外一种方式 .strings, 它返回的是一个generator, 比如对 ... 
- 读BeautifulSoup官方文档之与bs有关的对象和属性(2)
		上一节说到tag, 这里接着讲, tag有个属性叫做string, tag.string其实就是我们要掌握的四个对象中的第二个 ---- NavigableString, 它代表的是该tag内的te ... 
- 读BeautifulSoup官方文档之html树的搜索(1)
		之前介绍了有关的四个对象以及他们的属性, 但是一般情况下要在杂乱的html中提取我们所需的tag(tag中包含的信息)是比较复杂的, 现在我们可以来看看到底有些什么搜索的方法. 最主要的两个方法当然是 ... 
随机推荐
- HW5.35
			import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ... 
- Javascript and DOM学习
			1.输出 document.write.(); 2.alert警告 3.confirm消息对话框:当用户点击"确定"按钮时,返回true,取消时,返回false 4.prompt提 ... 
- Django中的Model(操作表)
			Model 操作表 一.基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = m ... 
- URL编码原理解释
			当你在浏览器中输入一个URL时,浏览器会将你输入到地址栏的非数字字母转化为URI编码. 那么,它是按照什么样的规则来转换的呢 是这样的,URI编码就是一个字符的ASCII码,它的ACSII码的十六进制 ... 
- 【Linux】多睡/少睡一小时!冬夏令时全解析
			多伦多2016年11月6日凌晨2点开始起时间调回一小时,时间到凌晨2点时自动跳回到1点,大家可以多睡一小时(或者多一小时写essay的时间)~ 多伦多2017年3月12日凌晨2点开始时间拨快一小时时间 ... 
- Hibernate映射文件简单配置
			<?xml version="1.0" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibe ... 
- 在WWDC 2014上,没提到的iOS 8 八大新特性
			今天凌晨1点,36氪如约为大家研磨出WWDC 2014全程 "贴身直播"(我不得不佩服牺牲个人时间,熬夜为大家奉上好文的5位氪星人:JasonZheng.WANGJINGYU.pa ... 
- USB移动硬盘WinPE启动盘的制作方法
			USB移动硬盘WinPE启动盘的制作方法 软件:老九WinPE 老毛桃终于撒手无论版 发行时间:2007年9月11日 制作发行:老毛桃 作用:当系统坏了,无法进入时,用来做系统维护,备份文件.轻巧稳定 ... 
- Linux中的文件描述符与打开文件之间的关系------------每天进步一点点系列
			http://blog.csdn.net/cywosp/article/details/38965239 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件. ... 
- [C++]对象的销毁机制
			销毁时会按照从后向前的顺序销毁,也就是说,越在后面定义的对象会越早销毁.其中的原因就是函数是在栈中保存的,因此,先定义的对象先压栈,所以在退栈时就会后销毁.而如果参数有多个的话,大多数编译器是从右开始 ... 
