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. Java基础---Java常量

    常量:在程序运行期间不变的量 分类: 类型  含义 数据举例 整数常量 所有整数 0,1, 567, -9 小数常量 所有小数 0.0, -0.1, 2.55 字符常量 单引号引起来,只能写一个字符, ...

  2. Linux_Ubantu下编译c++文件

    1. 编译单个文件 利用cmake进行编译 首先在项目文件夹中创建.cpp文件  利用最简单的 hello world #include<iostream> using namespace ...

  3. 跟我一起学编程—《Scratch编程》第22课:颠弹力球

    1. 能够熟练绘制角色和背景造型 2. 能够熟练控制角色角度.速度等 3. 能够熟练使用变量 4. 能够熟练使用循环.选择等指令控制程序 任务描述: 1. 绘制弹力小球.托板角色,背景造型. 2. 游 ...

  4. Struts2简介、初步使用

    今日分享的是楼楼新学的一个框架,Struts2: 一:Struts2简介: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2 ...

  5. Ubuntu 搭建 配置 nfs服务器

    什么是NFS? NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NF ...

  6. Windows下Notepad++连接VMWare中的linux,然后无法安装NppFTP

    一.关于Notepad++版本 我的版本是最新版本:Notepad++ v7.7 32bit 版本最好选择32bit的,看别处的说法是官网上有这样的说明: Note that the most of ...

  7. Nginx server配置

    项目一般都需要前后端的配置,用二级域名把它区分开:首先在nginx.conf:里面加一句话: http{ #这里面有很多其他的配置 如:gzip FastCGI等等 include vhosts/*. ...

  8. HTML中关于动态创建的标签无法绑定js事件的解决方法:.on()方法的 [.selector]

    在前端页面的时候,会经常遇到用JavaScript动态创建出来的Button按钮或其他标签无法使用点击事件的问题.如下代码,使用jquery在body中动态创建一个class为demo的Button按 ...

  9. C#基础--Virtual与abstract区别、重写

    Virtual作用:子类可以对父类重写,虚方法是对多态特征体现.代表一类对象的所具有的公共属性或方法. public class Animal { public string Name { get; ...

  10. core项目打包时发现有的项目的xml文件不会被打包进去,怎么办?

    我打包后发现打包后的文件夹内,不存在xml文件,所以swagger加载失败:然后经过测试发现Core项目打包的时候是默认不包含Xml文件的,VS里面也没有办法设置. 解决方法:手动修改项目文件,找到你 ...