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. 用Python获取计算机网卡信息

    目录 0. 前言 1. 测试环境及关键代码解释 1.1 测试环境 1.1.1 系统: 1.1.2 开发工具: 2. 模块介绍及演示 2.1 platform模块使用示例 2.2 netifaces模块 ...

  2. python学习-47 random模块

    random模块 随机模块 random 的方法: print(random.random()) # [0,1] 的浮点数 print(random.randint(1,3)) print(rando ...

  3. Python之系统编程笔记

    概念 命令行工具. Shell 脚本.  系统管理 系统模块 sys   提供一组功能映射Python运行时的操作系统 os    提供跨平台可移植的操作系统编程接口   os.path 提供文件及目 ...

  4. 跟我一起学编程—《Scratch编程》第21课:打地鼠

    能够熟练创建并使用变量 能够熟练使用“广播”和侦测指令 能够熟练绘制角色和背景造型 能够熟练使用循环.选择等程序指令 任务描述: 绘制有6个地洞的背景:绘制锤子的两个造型:绘制地鼠的造型. 游戏开始后 ...

  5. Vs code 下设置python tasks.json

    { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.jso ...

  6. QCache<key,T> 就定义了一个缓存,其类似于map,好处是QCache自动获得被插入对象的所有权,控制所有对象的costs总和(自动管理对象的生存时间。正经数据是不会用到它的,辅助控制才有可能用到它)

    在软件开发中,我们经常需要在内存中存储一些临时数据用于后续相关计算.我们一般把这些数据存储到某个数组里,或者STL中的某个合适的容器中.其实,在Qt中直接为我们提供了一个QCache类专用于这种需求. ...

  7. Asp.net core 学习笔记 2.2 migration to 3.0

    Ef core 3.0 一些要注意的改变 refer : https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/breaki ...

  8. Prometheus Grafana监控全方位实践

    这次就不用 docker 部署服务了,这样大家会更容易接受.欢迎阅读. 引言 Prometheus 是一个监控系统,也是一个时间序列数据库,用Go语言开发的,官方文档.通过从某些特定的目标如主机,My ...

  9. VMware Workstation虚拟机安装

    VMware Workstation虚拟机安装 我们缺乏资金, 所以吃土.我们想搭 hadoop 集群, redis 集群, k8s 集群, 怎么办? 用虚拟机!! 一. 安装普通版本(Worksta ...

  10. ASP.NET 使用 SyndicationFeed 输出 Rss

    以前生成 RSS 都是使用拼接 Xml 的方式生成的,不仅麻烦而且还不规范. #region 输出指定分类编号的消息源内容... /// <summary> /// 输出指定分类编号的消息 ...