JQuery 实践---创建元素包装集
1. 利用选择器,选择将被JQuery包装的元素
标识和选择DOM元素。JQuery采用我们已经知道的CSS语法并且扩展了一些.为了利用JQuery来选择元素,请把选择器包装在$()中。
- 基本CSS选择器:
元素名 tag, 元素ID #,元素类 .classname,位置: p a.classname 以及组合 - 子选择器,容器选择器和特性选择器
* 匹配任何元素
E 匹配标签名为E的所有元素
E F 匹配标签名为F,作为E的后代节点的所有元素
E>F 匹配标签名为F,作为E的直接子节点的所有元素
E+F 匹配标签名为F,其前面是邻近兄弟节点E,E和F紧挨着
E~F匹配标签名为F,其前面是任何兄弟节点E,E和F可以不紧挨着
E:has(F) 匹配标签名为E,至少有一个标签名为F的后代节点
E.C 匹配带有类名C的所有元素E
E#I 匹配id特性值为I的所有E元素
E[A] 匹配含有属性A的所有E元素
E[A=V] 相等
E[A^=V] 开始
E[A*=V] 包含
E[A$=V] 结尾 - 位置选择
:first 页面的最先匹配,某个元素在页面(Scope)第一个出现的 :last 页面的最后匹配 :first-child 最先的子元素. 某元素作为最先的子元素 :last-child 最后的子元素 :only-child 返回没有兄弟节点的所有元素 :nth-child(n) 第n个子节点,n从1开始 :nth-child(odd|even) 偶数或奇数 :nth-child(Xn+Y) 根据传入的公式计算的第N个子节点 :even or :odd 页面范围内偶数或奇数的匹配元素 :eq(n) 第n个匹配元素,n从0开始 :gt(n) :lt(n)
- 自定义JQuery选择器
:animated 选择当前处于动态控制之下的元素 :button 任何Button :checkbox :checked :contains(foo) 只选择包含文本foo的元素 :disabled :enabled :file :header h1~h6 :hidden :image :input :not(filter) 与指定的筛选器求反,只能应用到筛选选择器上 :parent 选择拥有后代节点的元素 包括文本节点 :password :radio :reset :selected 选择已选中的选项元素 :submit :text 只选择文本字符元素 :visible 只选择可见元素
只支持一层嵌套
筛选选择器,通过对元素应用更高的选择标准,缩小正在匹配的元素的集合
查找选择器,查找与已选择元素具有某种关系的其他元素。可能扩大操作集
支持XPath的JQuery插件:http://jQuery.com/plugins/project/xpath
/html//form/fieldset
/html//form/*/input
//div/.. div的直接父元素
//div[@foo=bar]
//div[@p]
2. 创建并放置新的HTML元素到DOM中
$("<div>Hello</div>")
$("<div>")
利用这个技巧无法可靠地创建<script>元素
eg.
$("<div class='foo'> I have foo</div><div>I don't</div>").filter(".foo").click(function(){alert('I am foo');}).end().appendTo("#someparentDiv")
3.操作元素包装集
| 名称 | 函数 | 参数 | 返回值 | 例子 |
| 确定包装集大小 | size() | 元素的个数 | $("a").size() | |
| 从包装集获取元素 |
get(index) index(element) |
index不指定时,获取所有的元素以JS数组形式返回 元素的引用 |
一个DOM元素或DOM元素数组 传入元素的下标或-1 |
|
| 添加更多元素到包装集 | add(expression) | 字符串|元素|数组 | 包装集 | $('img[alt],img[title]') $('img[alt]').add('img[title]') $('img[alt]').add('<p>sdf</p>') |
| 从包装集里删除元素 | not(expression) | 字符串|元素|数组。 任何JQuery包装集都能够当成元素引用的数组来使用 | 包装集 | |
| 编程方式筛选包装集元素 | filter(expression) |
字符串|函数 字符串作为JQuery选择器,在包装集中留下匹配的元素.函数调用返回为False的从包装集中删除 隐试函数类型的筛选器 |
包装集 | |
| 根据元素在包装集的位置,获取包装集子集 | slice(begin[,end]) | 数字,包含begin,不包含end | 新建的包装集 | |
| 关系:返回原始包装集元素的所有唯一子元素组成的包装集 | children() | 包含字符串的参数 | 包装集 | |
| 关系:返回原始包装集袁术的内容的包装集,可能包含文本节点。 | contents() | 包装集 | 常用语获取<iframe>元素的内容 | |
| 返回原始包装集元素的所有唯一的下一个兄弟元素所组成的包装集 | next() | 包含字符串的参数 | 包装集 | |
| 返回原始包装集元素的所有后续兄弟元素的包装集 | nextAll() | 包含字符串的参数 | 包装集 | |
| 返回原始包装集元素的唯一直接父元素 | parent() | 包含字符串的参数 | 包装集 | |
| 祖先元素,但不包括文档跟元素 | parents() | 包含字符串的参数 | 包装集 | |
| prev() | 包含字符串的参数 | 包装集 | ||
| prevAll() | 包含字符串的参数 | 包装集 | ||
| 返回原始包装集元素的所有唯一兄弟元素所组成的包装集 | siblings() | 包含字符串的参数 | 包装集 | |
|
把现有包装集仔细搜索,并返回包含所有匹配传入选择器表达式的元素的新包装集 操作链中调用,力量才强大 |
find(selector) | 字符串,一个jQuery选择器 | 新包装集 |
wrappedSet.find('p cite') <==> $('p cite',wrappedSet) |
| 查找包含指定字符串的元素 元素体的内容的各个方面,包含标记和后代元素的特性值,但不匹配受测原始元素的标记和特性值 |
contains(text) | 字符串 | 新包装集 | |
| 测试包装集,是否至少包含一个匹配给定选择器元素 | is(selector) | 字符串,选择器表达式 | true/false | |
| 回退到前一个包装集 | end() | 前一个包装集 | $('img').clone().appendTo('#somewhere').end().addClass('beenCloned') | |
| 合并栈内最顶端的两个包装集,把当前包装集和前一个包装集合并为一个包装集 | andSelf() | 合并后的包装集 |
JQuery 实践---创建元素包装集的更多相关文章
- JavaScript 、jQuery动态创建元素的关键字~
JavaScript动态创建元素: 1.创建元素 如:a 标签 var alink= document.createElement("a"); 2.j添加元素属性 alink.h ...
- 解决jquery动态创建元素绑定事件失效问题
存在问题 在我们使用jquery动态创建元素后往往会遇到一些问题,如: 给.button按钮绑定了点击时间,执行alert:(1); 点击事件代码如下: <script>$("# ...
- jQuery如何创建元素
1.$("<ul>").attr("id","taglist").appendTo("#tagCloud") ...
- jquery动态创建元素 div元素随垂直滚动条位置变化置顶显示
刚打开页面效果 拖动滑动条之后效果 页面代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- jquery动态创建元素
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- 从零开始学习jQuery (三) 管理jQuery包装集
本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ...
- 4月12日学习笔记——jQuery管理包装集
创建新的元素 (1)使用 HTML DOM 创建元素 //使用 Dom 标准创建元素 var select = document.createElement("select"); ...
- jQuery学习笔记(3)-操作jQuery包装集的函数
一.前言 在使用jQuery选择器获取到jQuery包装集后,我们就要对这些包装集进行各种操作 二.创建新的元素 1.使用HTMLDOM创建元素 (1)什么是DOM 当网页被加载时,浏览器会创建页面的 ...
- jQuery动态创建html元素的常用方法汇总
在使用jQuery进行WEB程序设计的时候非常有用.分享给大家供大家参考.具体方法如下: 一般来说,可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到 ...
随机推荐
- BP(back propagation)误差逆传播神经网络
[学习笔记] BP神经网络是一种按误差反向传播的神经网络,它的基本思想还是梯度下降法,中间隐含层的误差和最后一层的误差存在一定的数学关系,(可以计算出来),就像误差被反向传回来了,所以顾名思义BP.想 ...
- shell习题第26题:监控mysql服务
[题目要求] 假设mysql密码是123456. 写脚本监控mysql服务是否正常,比如是否可以执行show processlist,并检测一下当前的mysql服务是主还是从.如果是从,请判断他的主从 ...
- [Office 365] Office 365与Visio 2013/2016兼容性测试
Visio Professional 2013 (x64) - (Chinese-Simplified) 详细信息 文件名 cn_visio_professional_20 ...
- css border 三角形阴影(不规则图形阴影) & 多重边框的制作
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! border 的组合写法 border:border-width border-style border- ...
- CCF 2017-09-2 公共钥匙盒
CCF 2017-09-2 公共钥匙盒 题目 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室 ...
- JSQI网站大事表 | Website Landmark
2016-07-01 网站前身jsqi.50vip.com上线.2016-07-12 购买jsqi.org域名,替代之前的二级域名.2016-12-12 申请ChinaDMOZ收录,瞬间申请通过.20 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2
https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...
- JVM学习笔记——字节码指令
JVM学习笔记——字节码指令 字节码 0与 1是计算机仅能识别的信号,经过0和1的不同组合产生了数字之上的操作.另外,通过不同的组合亦产生了各种字符.同样,可以通过不同的组合产生不同的机器指令.在不同 ...
- 微信小程序 上传图片并等比列压缩到指定大小
微信小程序官方API中 wx.chooseImage() 是可以进行图片压缩的,可惜的是不能压缩到指定大小. 实际开发中需求可能是压缩到指定大小: 原生js可以使用canvas来压缩,但由于微信小程 ...
- 安装theano踩过的坑(gpu)
参考 http://deeplearning.net/software/theano/install.html TensorFlow出了点问题 python3.7的环境 pip安装 keras已经安装 ...