JQuery元素快速查找与操作


Posted in jQuery onApril 22, 2018

首先,我们来看看jquery中如何查找到想要的结点。

第一步:sizzle选择器

基于元素的id、类、类型、属性、属性值等"查找"(或选择)HTML元素,简单的说是基于css选择器,除此之外还有一些特定的选择器。

第二步:查询祖先

parent()

返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历

parents()

可以使用可选参数来过滤对父元素的搜索
返回被选元素的所有祖先元素,它一路向上直到文档的根元素

parentsUntil()

返回介于两个给定元素之间的所有祖先元素,下面是例子:

$(document).ready(function(){

  //会返回span开始到div为止的祖先元素
  
  $("span").parentsUntil("div");
  
});

第三步:查询子孙

children()

可以使用可选参数来过滤对子元素的搜索

返回被选元素的所有直接子元素,该方法只会向下一级对 DOM 树进行遍历

find()

可以使用可选参数来过滤对元素的搜索

返回被选元素的后代元素,一路向下直到最后一个后代

第四步:查询同胞

siblings()

返回被选元素的所有同胞元素

next()

返回被选元素的下一个同胞元素

nextAll()

返回被选元素的之后的全部同胞元素

nextUntil()

返回介于两个给定参数之间的所有跟随的同胞元素

$(document).ready(function(){

  //返回介于 <h2>与<h6>元素之间的所有同胞元素
  
  $("h2").nextUntil("h6");
  
});

prev()、prevAll() 和 prevUntil()

prev()、prevAll()以及prevUntil()方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞之前元素遍历,而不是之后元素遍历)。

第五步:查询时添加过滤

first()

返回选择的元素中的首个元素

last()

返回选择的元素中的最后一个元素

eq()

返回被选元素中带有指定索引号的元素,这个很容易理解,举例就是:$(element[flag])和element.eq(flag)结果一样

filter()

对查询结果进行过滤,和下面not()类似,作用相反

not()

返回不匹配标准的所有元素

$(document).ready(function(){

  //返回不带有类名"target"的所有p元素
  
  $("p").not(".target");
  
});

元素找到以后,接着我们需要根据需求来对查找到的结点进行操作。

第六步:text()、html()、val()以及attr()

text()、html()、val()以及attr(),拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串

1.text() - 设置或返回所选元素的文本内容

2.html() - 设置或返回所选元素的内容(包括 HTML 标记)

3.val() - 设置或返回表单字段的值

4.attr() - 设置或返回属性值

$("#btn1").click(function(){

  $("#test1").text(function(i,origText){
  
    return "旧文本: " + origText + " 新文本: index: " + i;
    
  });
  
});

第七步:添加元素

append() - 在被选元素的内部结尾插入内容

prepend() - 在被选元素的内部开头插入内容

after() - 在被选元素之后插入内容

before() - 在被选元素之前插入内容

第八步:删除元素

remove()可接受一个参数,允许你对被删元素进行过滤,empty()不可以

remove() - 删除被选元素(及其子元素)

empty() - 从被选元素中删除子元素

//等同于$("p.target").remove();
$("p").remove(".target");

第九步:替换元素

replaceAll()和replaceWith()功能类似,但是目标和源相反

replaceWith() - 用提供的内容替换集合中所有匹配的元素并且返回被删除元素的集合

replaceAll() - 用集合的匹配元素替换每个目标元素

第十步:class操作

addClass() - 向被选元素添加一个或多个类

removeClass() - 从被选元素删除一个或多个类

toggleClass() - 对被选元素进行添加/删除类的切换操作

hasClass() - 判断一个元素是否存在该class

第十一步:css()方法

设置或返回被选元素的一个或多个样式属性

css("propertyname"); - 返回propertyname属性的值

css("propertyname","value"); - 设置propertyname属性的值

css({"propertyname":"value","propertyname":"value",...}); - 设置多个值

第十二步:元素尺寸

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)

height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)

innerWidth() 方法返回元素的宽度(包括内边距)

innerHeight() 方法返回元素的高度(包括内边距)

outerWidth() 方法返回元素的宽度(包括内边距和边框)

outerHeight() 方法返回元素的高度(包括内边距和边框)

jQuery 相关文章推荐
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jQuery事件委托代码实践详解
Jun 21 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
使用jQuery实现购物车
Oct 29 jQuery
html中两种获取标签内的值的方法
Jun 16 jQuery
关于jquery layui弹出层的使用方法
Apr 21 #jQuery
jQuery中的for循环var与let的区别
Apr 21 #jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 #jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 #jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 #jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 #jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 #jQuery
You might like
php桌面中心(一) 创建数据库
2007/03/11 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
PHP中的Memcache详解
2014/04/05 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
php实现中文转数字
2016/02/18 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
高中军训感言600字
2014/03/11 职场文书
绩效管理实施方案
2014/03/19 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
收款授权委托书
2014/10/02 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android