jQuery选取和操纵元素的特点
jQuery选取和操纵元素的特点
JavaScript选取元素
先来看看不用jQuery的时候我们是怎么处理元素选取的.
JavaScript选取元素的时候,可以根据id获取元素,当id不存在的时候,结果为null,并且console会报脚本执行错误.
所以一般的做法是先用一个if判断该元素存在.
比如:

<body>
<a>click me</a>
<script type="text/javascript"> // document.getElementById("someId").style.color = "red";//if id does not exist,report error in console. if (document.getElementById("hello")) {//ensure it's neither null nor undefined.
document.getElementById("hello").style.color = "red";
}
</script> </body>

jQuery选取操纵元素
jQuery获取元素用的是$()运算符,比如获取某个id的对象用:$(“#idValue”).
不论该id的元素存在与否,都会返回一个jQuery对象(object).
这一点和直接用JavaScript获取DOM对象是完全不一样的.
一般情况下$()获取的是所有满足条件的元素,即得到的这个jQuery对象有一个属性length,表示元素的个数,可能为0,表示没有获取到元素.比如当要获取的目标id不存在时,该值为0.
id选择器是一个比较特殊的选择器,它只获取满足指定id的单个元素.如果id有多个,只返回第一个元素.
如果id不存在时,虽然可以获取jQuery对象,但是将jQuery对象转换为DOM对象(用[0]或者get(0)),将会得到一个undifined.
之后对这个DOM对象的任何属性操作都会报错,因为undefined不存在任何属性.

//jQuery
alert($("#hello"));//object //method1: convert jQuery object to DOM object
alert($("#hello")[0]);//undefined
$("#hello")[0].style.color = "red";//report error here!

既然转换成DOM元素不太好用,那么我们就放弃转换,直接操纵jQuery元素.
比如:
$("#hello").css("color","red");
这样,虽然对应id的元素还是不存在,样式修改也没有生效,但是页面不会报任何错误,因为jQuery会将其忽略掉.
如果id存在,则该样式会生效.
jQuery对象中的大多数方法同时支持读操作和写操作.
下面我们给链接加上我们想要的id.

<body>
<a id="hello">click me</a>
<script type="text/javascript">
//jQuery
alert($("#hello").length);//show DOM elements count.
$("#hello").css("color","red");//write action
alert($("#hello").css("color"));//read action
</script>
</body>

这个例子中hello是一个存在的id,首先用jQuery对象的css()方法的写操作赋予它一个颜色值,后来用读操作读出这个颜色值,弹窗显示出来.
jQuery中的大多数方法都是用同一个名字,同时支持相对应的读操作和写操作.
一般读操作是一个参数,写操作是两个参数.
总结: jQuery语法
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作.
基础语法是:$(selector).action()
$符号定义 jQuery.
选择符(selector)“查询”和“查找” HTML 元素.
jQuery 的 action() 执行对元素的读写操作.
关于jQuery选择器的内容这里先不详细介绍.本文只用了其中的id选择器作示例.
参考资料
圣思园张龙老师JavaWeb视频教程66.
HTML参考手册:http://www.w3school.com.cn/tags/index.asp
jQuery语法:http://www.w3school.com.cn/jquery/jquery_syntax.asp
jQuery选取和操纵元素的特点的更多相关文章
- jQuery初探 jQuery选取和操纵元素的特点
jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...
- jQuery选取表单元素
表单元素选择器 选择器 说明 :button <button>元素和type属性值为button的<input& ...
- jquery slibings选取同级其他元素
jquery选取同级其他元素可以使用slibings方法,end方法可以清除之前的链式操作,相当于重新开始. <script type="text/javascript"&g ...
- 解析Jquery取得iframe中元素的几种方法
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下 DOM方法:父窗口操作IFRAME:window.frames[&q ...
- jquery 选择器(name,属性,元素)大全
jQuery 选择器大体上可分为:基本选择器.层次选择器.过滤选择器.表单选择器. 其中过滤选择器可以分为:简单过滤选择器.内容过滤选择器.可见性过滤选择器.属性过滤选择器.子元素过滤选择器.表单对象 ...
- JavaScipt选取文档元素的方法
摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 选 ...
- 浅析jQuery中常用的元素查找方法总结
本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...
- jquery选择器控制Html元素
1.JQuery中有addClass,removeClass,toggleClass addClass(class):为每个匹配的元素添加指定的类名 removeClass(class):从所有匹配的 ...
- Jquery取得iframe中元素的几种方法(转载)
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作 DOM方法:父窗口操作IFRAME:window.frames["iframeSon ...
随机推荐
- POJ2352_Stars(段树/单点更新)
解决报告 意甲冠军: 坐标.查找在数星星的左下角每颗星星. 思考: 横轴作为间隔,已知的输入是所述第一到y排序再次x次序.每次添加一个点来查询点x多少分离开坐标,然后更新点. #include < ...
- datatable1.9 与datatable1.10以数据差异
我还探讨datatable1.10新用途,如果在下面的代码中的错误,欢迎.. 1.10与1.9解释官方网站之间的差异:http://www.datatables.net/upgrade/1.10 看代 ...
- 理解git经常使用命令原理
git不同于类似SVN这样的版本号管理系统,尽管熟悉经常使用的操作就能够满足大部分需求,但为了在遇到麻烦时不至于靠蛮力去尝试,了解git的原理还是非常有必要. 文件 通过git管理的文件版本号信息所有 ...
- Python 提取Twitter转发推文的元素(比方username)
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-24 @author: guaguastd @name: e ...
- 泛泰A900 刷4.4中国民营TWRP2.7.1.1版本 支持自己主动识别移动版本号(世界上第一)
因本人手上的A900S已砖, 所以临时弄不了ROM了. 先上传之前已经弄好的刷4.4专用的新版TWRP recovery 2.7.1.1 这个版本号是我自己定义的,为差别之前公布的2.7.0.0版( ...
- SQLServer 2012异常问题(二)--由安装介质引发性能问题
原文:SQLServer 2012异常问题(二)--由安装介质引发性能问题 问题描述:生产环境一个数据库从SQLSERVER 2008 R2升级到SQLSERVER 2012 ,同时更换硬件,但迁移后 ...
- Java虚拟机类型卸载和类型更新解析(转)
转自:http://www.blogjava.net/zhuxing/archive/2008/07/24/217285.html [摘要] 前面系统讨论过java 类型加载(loa ...
- jquery中 $ 和 jQuery 及 $() 的差别
用过jquery的人都知道,jquery有两种使用方法,一种是$,另一种是jQuery,那么这两种方式在使用上有什么差别呢? 答案是这两种使用方法没什么差别,仅仅是别名而已,用$要比jQuery简短一 ...
- 网络编程I/O功能介绍
read和write #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); ssize_t write(in ...
- java数据结构系列——排列(2):有序阵列
package Array; /** * 对数组排序.当添加到阵列保持有序数组元素: * @author wl * */ public class MyOrderArray { private lon ...