读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中包含的信息)是比较复杂的, 现在我们可以来看看到底有些什么搜索的方法. 最主要的两个方法当然是 ...
随机推荐
- Spring配置MyBatis
1.MyBatis配置文件(mybatis-config) <?xml version="1.0" encoding="UTF-8"?> <! ...
- Install PhoneGap
To Install, ensure that you have NodeJS installed, then open your commandline and run the following: ...
- elecworks无法连接至协同服务器
http://jingyan.baidu.com/article/597a0643759e1c312b524385.html 在安装路径中找到Server文件夹,在文件夹中你可以看到只有一个文件[Ew ...
- Unity3D资源存放笔记
文件夹及路径 昨天记了一篇AssetBundle学习笔记,那么游戏中的各种资源应该如何存放呢? 在网上一阵搜罗,把笔记记一下. 非特殊名称文件夹 非Unity3D指定名称的文件夹中的资源,如果游戏场景 ...
- Oracle- UPDATE FROM讲解
在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.像sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通 ...
- SD卡fat文件系统移植
经过充分的研究,发现fatfs文件系统移植的比较简单!因为代码都已经被别人做好了!我们只需把io层稍稍做个处理就ok了: 至于sd卡的驱动请看我这篇博客:http://blog.csdn.net/ie ...
- shuffle 过程
Shuffle描述着数据从map task输出到reduce task输入的这段过程(Shuffle的正常意思是洗牌或弄乱). 以下是官网的流程图: 从最基本的要求来说,我们对Shuffle过程的期望 ...
- JavaScript要点 (五) 函数定义
JavaScript 使用关键字 function 定义函数. 函数可以通过声明定义,也可以是一个表达式. 函数声明分号是用来分隔可执行JavaScript语句. 由于函数声明不是一个可执行语句,所以 ...
- hdu1754线段树维护区间最大值
#include <iostream> #include <cstdio> using namespace std; #define MAXN 200005 int N,M; ...
- cocos2d-x中CCTextureCache图片资源的异步加载<转>
如果没有预先加载图片,则可以通过addImageAsync()函数实现异步加载,该函数通过创建一个加载线程来加载图片,并且在主线程中通过调用回调函数来读取该图片资源纹理.其主要过程如下: 1.创建线程 ...