jQuery 选取元素

建议学习时长: 30分钟
学习方式:深入

学习目标

  • 知道如何用 jQuery 选取元素。
  • 知道在选取元素的元素上过滤和添加元素。

详细介绍

用选择器选取元素

$(选择器 [, 父元素])

如:

$('#save-btn');// 所有 id 为 save-btn 的
$('.btn', $('form'));// form 元素下类名包含 btn 的元素
$('.box h2.title'); // 所有类名包含 box 的元素下的类名包含 title 的 h2

jQuery 支持的选择器包括:

注意:
对于 jQuery 自定义的选择器,为了性能,先用 CSS 定义的选择器选,再从结果集中筛选时用 jQuery 自定义的选择器。如:

// 不推荐
$('.form:visible');
$('.form :selected');
$('.list:eq(3)');
// 推荐
$('.form').filter(':visible');
$('.form').find(':selected');
$('.list').eq(3);

一些有用的选择器

表单类

是否可见

内容过滤

其他

选择器中包含元字符的处理

选择器的元字符有:!"#$%&'()*+,./:;<=>?@[\]^{|}~

选择器中如果要使用选择器的元字符,必须用 \ 来转义。如:选择 id 为 foo.bar 的元素,要使用 $("#foo\\.bar")。如果使用 $("#foo.bar"),则选择的是 id 为 foo 并且有 bar 的类名的元素。

从层级中选取元素

从父元素和祖系元素中找

closest parents parent
从当前元素开始 从父级开始 从父级开始
向上查找直到找到匹配的 向上查找直到文档的根节点 向上查找一层
为执行操作的每个jQuery对象返回最多一个元素 为执行操作的每个jQuery对象返回0或多一个元素 为执行操作的每个jQuery对象返回最多一个元素

从子元素中下找

$('#frameDemo').contents().find('a');
// 等效与
$('#frameDemo')[0].contentWindow.$('a');

从兄弟元素中找

过滤掉不满足条件的元素

$(".btn")
  .filter(function(index) {
    return index > 2 && $(this).is(':visible');
});

选中集合中添加元素

  • add

自定义选择器

例如

$.extend($.expr[':'], {
    notEmpty: function(el,index, meta, stack) {
    // element- DOM元素
    // index - 堆栈中当前遍历的索引值
    // meta - 关于你的选择器的数据元
    // stack - 用于遍历所有元素的堆栈
        return $(el).val() !== "";
    }
});
$(':text:notEmpty') //所有值不为空的输入框
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,217评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,422评论 0 2
  • Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $("img...
    扑克脸_457e阅读 603评论 0 1
  • 这霞光 自太阳升起的地方 照到你的心房
    一缕阳光yg阅读 145评论 8 11