理解jQuery对象$.html
如果要比喻jQuery和原生javascript的关系,我个人认为是自动档和手动档汽车的区别。使用原生javascript,可以知道离合器以及档位的作用;而使用jQuery,则把离合器和手动档位封装到函数,直接前进、后退或驻车即可。所以,熟练使用原生javascript,再去使用jQuery是一个很自然的步骤。从本文开始,将陆续介绍jQuery的相关内容,并给出相关的原生javascript实现。接下来,将详细介绍jQuery对象$
$对象
说起jQuery,最明显的标志,毫无疑问,就是美元符号$,美元符号$其实是jquery的简写。而使用$()包装的对象就是jQuery对象
与jQuery对象相对应的就是DOM对象,DOM对象其实就是DOM元素节点对象
如果直接写document,则指的是document的DOM元素对象
document.onclick = function(){alert('dom'); }
而如果用$()包括起来,如$(document),是jQuery(document)的简写形式,则指的是jQuery对象
<script src="jquery-3.1.0.js"></script> <script>console.log(jQuery(document));//[document]console.log($(document));//[document]console.log(document);//#document</script>
[注意]jQuery对象无法使用DOM对象的方法,DOM对象也无法使用jQuery对象的方法
<script src="jquery-3.1.0.js"></script> <script> //无反应$(document).onclick = function(){alert(0);}; //Uncaught TypeError: document.click is not a functiondocument.click(function(){alert(1);});</script>
转换
【1】DOM转jQuery对象
对于一个jQuery对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象
【2】jQuery转DOM对象
jQuery是一个类数组对象,可以通过[index]或get(index)的方法得到相应的DOM对象
console.log(document === $(document)[0]);//trueconsole.log(document === $(document).get(0));//true
共存
如果jQuery对象和DOM对象指向同一对象,绑定不同函数,则函数会按照顺序依次执行
//先弹出0,再弹出1document.onclick = function(){alert(0); } $(document).click(function(){alert(1); });
不报错
如果使用DOM对象,为不存在的DOM对象设置样式会报错
//Uncaught TypeError: Cannot read property 'style' of null document.getElementById('test').style.color = 'red';
而使用jQuery对象,为不存在的jQuery对象设置样式不会报错
$('#test').css('color','red');
判断存在
一般地,DOM对象在使用之前需要判断存在,防止出错
if(document.getElementById('#test')){document.getElementById('#test').style.color = 'red'; }
对于jQuery对象来说,因为$()获取到的永远是对象,即使网页上没有该元素。所以不能采用下面方式判断
if($(#test)){ //}
应该根据获取到元素的长度来判断
if($(#test).length){ //}
或者转换成DOM对象来判断
if($(#test)[0]){ //}
转载于:https://blog.51cto.com/jsw55667/1932635
相关文章:

精通ASP.NET中弹出窗口技术
本文讨论如何以ASP.NET中的CodeBehind方式实现各种弹出窗口,实现与弹出窗口的交互。并探讨常用非标准IE浏览器对弹出的窗口的各种过滤行为及使用弹出窗口相应对策,以期给出使用弹出窗口的一个通用较优方案。 关键词:ASP.NET、CodeBehind、过滤…

leetcode--删除排序数组中的重复项--python
文章目录题目题目详情示例说明解题代码思路代码运行结果最佳方案题目 题目详情 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改…

转换人民币大小金额
1 usingSystem; 2 3 namespaceTest 4 { 5 /**////<summary>6 ///Rmb 的摘要说明。 7 ///</summary>8 publicclassRmb 9 { 10 /**////<summary>11 ///转换人民币大小金额 12 ///</summary>13 ///<param name"num">金额</param>14…

偏执却管用的 10 条 Java 编程技巧
经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得很快),我们开始感谢那些好习惯。因为,你知道… “任何可能出错的事情,最后都会出错。” 这就是人们为什么喜欢进行“…
如何利用SOM网络进行柴油机故障诊断
如何利用SOM网络进行柴油机故障诊断

leetcode--删除排序链表中的重复元素--python
文章目录题目题目详情示例解题代码思路代码运行结果最佳方案题目 题目详情 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 输入: 1->1->2 输出: 1->2输入: 1->1->2->3->3 输出: 1->2->3解题代码 …

如何使用 UserAccountControl 标志操纵用户帐户属性
转载: http://support.microsoft.com/kb/305144 概要 在打开用户帐户的属性后,单击帐户选项卡,然后选中或清除“帐户选项”对话框中的复选框,则会将数值分配给 UserAccountControl 属性。分配给该属性的值通知 Windows 已启用了哪…

程序员 专属的新年祝福原来是这样的! (附中奖名单)
程序员的新年祝福会是什么样的?我们共收到了97位 OSCer 的回复,以下为支持数排名前十的祝福语: yale8848(支持数:10) document.write("") (小编:捂脸,不过不知…
LSGO代码小组第16周复盘日志
LSGO代码小组第16周复盘日志,汇报人:高勇

leetcode--买股票的最佳时机II--python
文章目录题目题目详情注意示例代码思路解题代码运行结果最佳方案题目 题目详情 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。…

我的广州生活~
步入11月份,天气逐渐转冷!本以为广东的冬天是永远的裤头T恤,看来我错了。。。在凉席上抗争了一周,我感冒了两次,看来人毕竟斗不过天,还是乖乖的铺上褥子,等待南国的冬天。他们都说广州的冬天是种…

苹果手表可以运行 ruby 脚本了
不得不佩服啊! 各位看下载地址吧https://itunes.apple.com/cn/app/ruby-2.0-for-ios-yun-xing/id727047729?mt8https://yqfile.alicdn.com/d0403806fdff7411060f9b0b059d1f9966c19447.png" >https://yqfile.alicdn.com/5dbd9a02e4252465b9896713a592e092ca…
Matlab与线性代数--广义逆矩阵
本微信图文详细介绍了Matlab中求解广义逆矩阵的方法。

leetcode--无重复字符的最长子串--python
文章目录题目题目详情示例解题代码思路代码运行结果最佳方案题目 题目详情 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长…

TOP语句与Order By语句
默认情况下,如果在子查询,函数,视图中尝试去使用ORDER BY, CREATE VIEW dbo.VSortedOrders ASSELECT orderid, customerid FROM dbo.Orders ORDER BY orderid GO 那么可能会遇到下面的错误 消息 1033,级别 15ÿ…
利用“队列”解决“窗口混乱”问题
本图文利用队列这种数据结构以及多线程技术模拟了银行排队(叫号)软件的工作流程。

MySQL操作数据库--与MySQL零距离接触1-7
第一章 1-7操作数据库 数据库是一个集合:表 索引等。 MySQL语句规范: 关键字与函数名称全部大写 数据库名称、表名称、字段名称全部小写 SQL语句必须以分号结尾 语法结构: {}:代表必选项 …

leetcode--盛最多水的容器--python
文章目录题目题目详情说明示例解题代码思路代码运行结果最佳方案题目 题目详情 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (…

创意海报生成器
今天无意中看到一个网站,用来生成一些好玩的图片. http://www.photofunia.com 转载于:https://www.cnblogs.com/victorxu/archive/2008/11/17/1334779.html

基于Go语言来理解Tensorflow
Tensorflow并非一套特定机器学习库——相反,其属于一套通用型计算库,负责利用图形表达计算过程。其核心通过C语言实现,同时亦绑定有多种其它语言。与Python绑定不同的是,Go编程语言绑定不仅允许用户在Go环境当中使用TensorFlow&am…
如何利用BP网络进行神经网络变量筛选
如何利用BP网络进行神经网络变量筛选

校园ACM--总结
文章目录题目1--字母矩阵题目详情示例解题代码思路代码运行结果题目2--二进制反转题目详情示例解题代码思路代码运行结果体会题目1–字母矩阵 题目详情 n阶字母矩阵是由n*n的英文小写字母组成的方阵,满足: 每一条副对角线上的字母相同 不同对角线上的…

阅读笔记 CCL: Cross-modal Correlation Learning with Multi-grained Fusion by Hierarchical Network
总结 CCL: Cross-modal Correlation Learning with Multi-grained Fusion by Hierarchical Network Yuxin Peng, Jinwei Qi, Xin Huang and Yuxin Yuan 常见方法 使用深度神经网络(DNN)的跨模态检索大体分为两个步骤: 1 The first learning s…
Matlab与线性代数--矩阵的LU分解
本图文详细介绍了Matlab中有关矩阵LU分解的操作。

Silverlight的企业应用
今天在Terry Lee的博客中看到《Silverlight 3 -瞥》,之后找到Scott的原文《Update on Silverlight 2 - and a glimpse of Silverlight 3》,发现在Scott的文章里提到了K2的Blackpoint。 Silverlight已经发布了一段时间,但很少听说…

leetcode--移除元素--python
文章目录题目题目详情示例说明解题代码思路代码小知识运行结果最佳方案题目 题目详情 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组…

翼の折れた天使たち
人は、時に強がってしまうものだ。 本当は、苦しいのに本当は、甘えたいのにでも、それを素直に表すことができない。ただ、怖いのは、自分を追い込んでしまうこと。そして、悲しいのは、後戻りができなくなること。だから、そうなる前に、自分の弱さを認めてほしい。それは、恥…

小型网站到大型网站-Mysql优化
2019独角兽企业重金招聘Python工程师标准>>> 背景 好的大型网站都是从小型网站慢慢演变来的,都不是一步就设计好的。现在的淘宝,03年创建的时候它也是只有一台服务器,使用的是我们目前还经常使用的lamp架构(LinuxApach…
Matlab与线性代数--矩阵的正交分解
本图文介绍了Matlab中对于QR分解的操作。

leetcode--搜索插入位置--python
文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示…