在许多情况下,jquery代码所做的事情变成了:生成jquery对象A,操作对jquery象A;更改为jquery对象B,操作jquery对象B;更改为jqueryC,操作jquery对象C......;

jquery的链式操作:

链式操作概述:生成一个jquery对象后,既要对它进行一次或多次的普通操作,同时还要对它进行更改操作。于是有必要把生成jquery对象储存在一个变量中,满足多次调用的需要。

例如:

$(function(){
$("div").click(function(){
    $(this).addClass("highlight").children("ul").show().end()
    .siblings().removeClass("highlight").children("ul").hide();
  })
})

更改为后代元素的集合:

1.children()方法:是用来选择子元素的

  children("选择器");//选贼子元素中,所有匹配选择器的直接子元素

  children();选择父元素的所有直接子元素//并不是选中,是已经切换了

2.find()方法:是用来选择后代元素的

  find("选择器");//选择后代元素中,所有匹配选择器的后代元素

  find();//不选择原先元素任何后代元素//写不写都一样,什么都选不中

3.contents()方法:选择匹配元素文本块(节点)和子节点

    --说明:包括空文本节点

更改为祖先元素的集合:

1.parent()方法:选择父元素

  parent("选择器");//选择父元素中,所有匹配选择器的元素

  parent();//选择所有父元素

2.parents()方法:选择祖先元素

  parents("选择器");选择祖先元素中,所有匹配选择器的元素

  parents();//选择所有祖先元素

3.parentsUntil()方法:祖先元素

  parentUntil("选择器");//选择祖先元素,直到找到匹配选择器的元素,但不包括匹配元素

  parentUntil();//选择所有祖先元素

4.offsetParent()方法:选择最近的祖先定位元素,且该元素的css属性display不能为none;所谓定位元素是指其css属性的position取值为relitive、absolute、fixed。如果祖先元素中没有合适的元素,则会选择<html>根元素。

5.closest("选择器")方法:选择器本身和其他祖先元素所有匹配选择器的元素。也即是说,先看看原先的元素是否匹配,否则会一层一层地向上找到最先匹配祖先元素。

更改为兄弟元素的集合

1.next()和prev()方法

  next("选择器"),在原先元素后面的第一个兄弟元素中,选择匹配选择器的元素。next()或next("*"),会选取原先元素后面的第一个兄弟。

  prev("选择器"),在原先元素前面的第一个兄弟元素中,选择匹配选择器的元素。prev()或prev("*"),会选取原先元素前面的第一个兄弟。

2.nextAll()、prevAll()和siblings()方法

  nextAll("选择器"),在原先元素后面的兄弟元素中,选取匹配选择器的元素。nextAll()或nextAll("*"),会选取原先元素后面的所有兄弟。

  prevAll("选择器"),在原先元素前面的兄弟元素中,选取匹配选择器的元素。prevAll()或prevAll("*"),会选取原先元素前面的所有兄弟。

  siblings(“选择器”),在原先元素所有兄弟元素中,选取匹配选择器的元素。siblings()或siblings(“*”),会选取原先元素所有兄弟。

更改为更多元素的集合

1.add("选择器")方法,在原先元素的基础上添加选取匹配选择器的元素;

说明:$("选择器1").add("选择器2")选取的元素等同于$("选择器1","选择器2");相当于群组选择器;//给祖先元素用。

jquery筛选器


1.eq()、first()、last()方法

eq(index)、first()、last()

2.slice(start,[end])方法:筛选索引从start到(end-1)的元素

  slice(2,5)//2,3,4

3.filter("选择器")方法:选择匹配选择器的元素

4.not("选择器")方法:选择不匹配选择器的元素

5.has("选择器")方法:选择匹配选择器的后代元素

end()为切换为前一个对象。

javascript-jquery-更改jquery对象的更多相关文章

  1. Jquery第一篇【介绍Jquery、回顾JavaScript代码、JS对象与JQ对象的区别】

    什么是Jquery? Jquey就是一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作 就是封装了JavaScript,能够简化我们写代码的一个JavaScript库 为 ...

  2. 【JQuery】jquery对象和javascript对象即DOM对象相互转换

    jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法:例如: $(&quo ...

  3. 在JavaScript中重写jQuery对象的方法

    jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序 ...

  4. jQuery之Deferred对象详解

    deferred对象是jQuery对Promises接口的实现.它是非同步操作的通用接口,可以被看作是一个等待完成的任务,开发者通过一些通过的接口对其进行设置.事实上,它扮演代理人(proxy)的角色 ...

  5. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  6. jQuery之Deferred对象P2

    转自 https://www.cnblogs.com/losesea/p/4415676.html deferred对象是jQuery对Promises接口的实现.它是非同步操作的通用接口,可以被看作 ...

  7. jQuery介绍 DOM对象和jQuery对象的转换与区别

    jQuery介绍 DOM对象和jQuery对象的转换与区别 jQuery介绍      jQuery: http://jquery.com/      write less, do more.   j ...

  8. 惊叹jQuery(解决jQuery对象到DOM的转换)

    jQuery是一个javascript框架,但绝对不是通常意义上的一些包装,个人感觉是一个改变js控制方式的框架.我们可以像美工通过写css分离页面代码一样,通过jQuery来分离页面与效果..下面转 ...

  9. jQuery的deferred对象详解(一)

    最近一段时间,都在研究jquery里面的$.Deffered对象,几天都搞不明白,其中源码的运行机制,网上查找了相关的资料,<jQuery的deferred对象详解>阮一峰老师的文章,里面 ...

  10. jquery 和 js 对象转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...

随机推荐

  1. gimp 缩放图片 python script

    滤镜 -> Python Fu -> 控制台,复制粘贴下面代码. 然后 scale_image(800, 800) 图片自动缩放为 800*800 了 这个代码是傻傻的缩放,你可以把它改成 ...

  2. noip模拟测试50

    考试过程:开题顺序1,2,3,做T1的时候我想到了要求的东西,就是分成尽量少的段使得每段之和>=k,但是我不会求,就打了个暴力走了,然后看T2,这题我觉得和之前做过的一道题比较像,因为我觉得\( ...

  3. vscode安装go插件失败

    解决办法:使用golang代理,在环境变量中添加两个新变量: 详情参考vscode中为golang开发环境配置代理goproxy 之后便有一部分可以安装成功

  4. KMP算法中的几个疑问

    KMP算法next数组求解实现 首先我们通过应用场景将KMP算法中用到的名词做一个说明: 在一个字符串(string1)中查询是否存在另一个字符串(string2). 在字符串匹配算法中,我们通常将字 ...

  5. ARM架构安装ubuntu系统

    一.简介 arm开发板制作系统是比较麻烦,不论使用busybox还是yocto制作根文件系统对新手都比太友好,除非深度定制,否则使用ubuntu系统既可以满足,把更多的精力放在应用开发上. 二.准备材 ...

  6. nohup命令的用法

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/my ...

  7. electron-vue 开发问题合集

    (一)Found 'electron' but not as a devDependency, pruning anyway 原因:对electron没有严格要求的话可以忽略,不影响打包,但会影响第三 ...

  8. CTFd+ubuntu service搭建等待更新

    CTFd是一款基于Apache2.0的协议的开源CTF平台,最新版本目前为1.20.该平台功能强大,基本上能够满足目前的CTF竞赛需求,同时,该平台提供了强大的插件功能,可以自己进行插件开发实现自己的 ...

  9. java原码反码补码以及位运算

    原码, 反码, 补码的基础概念和计算方法. 对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式. 1. 原码 原码就是符号位加上真值的绝对值, 即 ...

  10. 每日学习——C++习题

    1.题目要求:求圆的面积,数据成员为半径r,定义为私有成员,要求用成员函数实现在键盘上输入圆半径,计算圆面积.输出圆面积三个功能,要求三个成员函数在类内声明,在类外定义 //定义类 class Cir ...