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.把动态内容存放到 ...
随机推荐
- C语言 - cJSON解析特定格式 含有数组array类型的数据
在ESP32中使用了cJSON库,发现很好用.最近服务器端的JSON格式越来越多样,还是有些注意点,需要做下笔记记录下来. cJSON *MAC_arry = cJSON_GetObjectItem( ...
- 编写python高质量python代码的59个有效方法
第1条:确认自己的python版本 第2条:遵循PEP8的风格 1.空格 对于 占据多行的长表达式来说, 除了首行之外的其余各行都应该在通常的缩进级别上再加4个空格. 每行字符数不应该超过79. 2. ...
- GPIO 输出—使用固件库点亮 LED
编程要点 1. 使能 GPIO 端口时钟: 2. 初始化 GPIO 目标引脚为推挽输出模式: 3. 编写简单测试程序,控制 GPIO 引脚输出高.低电平. LED的电路图 过程: 1.拷贝一个库函 ...
- 游记-pkupc&cts2019
Day0 和boshi.Rayment组的队,昨天听学长说这次比赛可以加学分,他们信科的大部分人都会参加,估摸有两百多支队伍--然而奖品只有不到一百份 我要奖品呐! 上午十一点半到的北京,拉着行李提着 ...
- 谈jdbcTemplate与mybatis
为什么会产生 Hibernate Mybatis 这类的dao层框架 传统的jdbc 虽然执行速度很快,但是开发效率很低,随着面向对象开发的设计思想,在面向对象编程中 将对象 进行持久化,存入关系型的 ...
- .NET中AOP实现
静态织入,如:PostSharp(收费)动态织入1.使用Castle DynamicProxy不太方便的是需要在AOP的方法上加上virual关键字,配置较繁琐https://blog.csdn.ne ...
- XCode下在不同位置声明变量的用法(转)
XCode下在不同位置声明变量的用法 方式一:直接在.h文件@interface中的大括号中声明. @interface Test : NSObject { NSString *str; // 私有变 ...
- java实现当前时间往前推N小时
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; /** * @author sha ...
- Plugin 免费CSS生成器CssCollector
下载: 百度云 自己在做Web开发的时候,页面里会有很多样式类,一个个复制到样式表里总感觉很麻烦 网上也没有找到合适的工具,可以一键生成样式表 所以,干脆自己做一个咯~ 案例展示 花了一天时间,CSS ...
- fastclick插件中存在的bug
1.在vue项目中安装fastclick插件 npm install --save fastclick 2.在main.js中引入并绑定到body import FastClick from 'fas ...