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 实践---创建元素包装集的更多相关文章

  1. JavaScript 、jQuery动态创建元素的关键字~

    JavaScript动态创建元素: 1.创建元素  如:a 标签 var alink= document.createElement("a"); 2.j添加元素属性 alink.h ...

  2. 解决jquery动态创建元素绑定事件失效问题

    存在问题 在我们使用jquery动态创建元素后往往会遇到一些问题,如: 给.button按钮绑定了点击时间,执行alert:(1); 点击事件代码如下: <script>$("# ...

  3. jQuery如何创建元素

    1.$("<ul>").attr("id","taglist").appendTo("#tagCloud") ...

  4. jquery动态创建元素 div元素随垂直滚动条位置变化置顶显示

    刚打开页面效果 拖动滑动条之后效果 页面代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  5. jquery动态创建元素

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  6. 从零开始学习jQuery (三) 管理jQuery包装集

    本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ...

  7. 4月12日学习笔记——jQuery管理包装集

    创建新的元素 (1)使用 HTML DOM 创建元素 //使用 Dom 标准创建元素 var select = document.createElement("select"); ...

  8. jQuery学习笔记(3)-操作jQuery包装集的函数

    一.前言 在使用jQuery选择器获取到jQuery包装集后,我们就要对这些包装集进行各种操作 二.创建新的元素 1.使用HTMLDOM创建元素 (1)什么是DOM 当网页被加载时,浏览器会创建页面的 ...

  9. jQuery动态创建html元素的常用方法汇总

    在使用jQuery进行WEB程序设计的时候非常有用.分享给大家供大家参考.具体方法如下: 一般来说,可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到 ...

随机推荐

  1. 去掉右键Open Folderas Intellij IDEA Project

    解决: WIN+R键打开运行,输入regedit 打开注册表 在地址栏输入: 计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell 然 ...

  2. 深度挖坑:从数据角度看人脸识别中Feature Normalization,Weight Normalization以及Triplet的作用

    深度挖坑:从数据角度看人脸识别中Feature Normalization,Weight Normalization以及Triplet的作用 周翼南 北京大学 工学硕士 373 人赞同了该文章 基于深 ...

  3. .NetCore如何使用ImageSharp进行图片的生成

    ImageSharp是对NetCore平台扩展的一个图像处理方案,以往网上的案例多以生成文字及画出简单图形.验证码等方式进行探讨和实践. 今天我分享一下所在公司项目的实际应用案例,导出微信二维码图片, ...

  4. luogu题解P1967货车运输--树链剖分

    题目链接 https://www.luogu.org/problemnew/show/P1967 分析 NOIp的一道裸题,直接在最大生成树上剖分取最小值一下就完事了,非常好写,常数也比较小,然而题解 ...

  5. meta标签常见浏览器设置

    一.如何让双核浏览器默认选择 WebKit 内核渲染自己开发的网页 我们可以使用标签来指定适合自己网站的渲染内核名称,当双核浏览器访问本网页时,就会根据我们的指示,选择我们指定的渲染内核来处理网页.若 ...

  6. vs-code 的常用插件

    最近编辑器转移至VS-Code上面了,为什么抛弃sublime呢,因为,sublime在项目逐渐变大的过程中(项目已上万行,还在不停继续变大),sublime会出现卡顿,反应缓慢,甚至未响应状态,基于 ...

  7. Vue路由相关配置

    什么是路由? 1.在以前页面跳转使用的是超链接a标签或者js location.href,而路由是跳转切换组件的跳转方式 2.路由就是监听url的改变并提供相对应的组件用于展示 3.vue-route ...

  8. redis修改大key报Argument list too long的解决办法:

    线上一个业务出现异常:redis的一个大大大大大key数据有问题,所以导出修改再导入,但遇到了问题: [root@ ~]# /usr/local/redis/bin/redis-cli -h 127. ...

  9. 抓包分析工具web版——capanalysis

    1.下载安装 官网上,安装在Ubuntu上 2.使用教程 https://blog.51cto.com/chenguang/1325742

  10. SmartBinding工作原理分析

    关于kbmMW SmartBinding,我翻译了作者写的几篇文章,其强大的绑定机制,将可视控制与各种数据源灵活绑定在一起,实现了类似DBEdit数据敏感控件的效果,可以及大的减少我们的代码,实现界面 ...