博客
关于我
JQuery选择过滤器
阅读量:655 次
发布时间:2019-03-15

本文共 2844 字,大约阅读时间需要 9 分钟。

DOM对象与JQuery包装集

通过 document.getElementById()document.getElementsByName() 等方法获取的都是 DOM 对象或 DOM 对象集合。

  • document.getElementById("text11") 返回与 id 为 "text11" 的唯一 DOM 对象。
  • document.getElementsByName("text11")[0] 返回 id 为 "text11" 的 DOM 对象(如果存在)。
  • document.all.text11 可以通过 name 或 id 值获取 DOM 对象。
  • document.all[10] 根据索引获取 DOM 对象。

JQuery 包装集的使用

JQuery 包装集通过 $() 方法构造,返回的对象可以调用 JQuery 方法。

  • 使用 JQuery 包装集:$("#text11")
  • 将 DOM 对象转换为 JQuery 包装集:$(text11_dom)
  • JQuery 包装集支持部分 DOM 方法,如 .length,但某些属性方法需要通过索引访问,如 $("#text11")[0]

JQuery 核心方法

JQuery 的核心方法包括:

  • jQuery(html[, ownerDocument]):通过 HTML 字符串创建 DOM 元素。
  • jQuery(elements):将 DOM 对象或 JQuery 包装集封装为 JQuery 包装集。
  • jQuery(callback)$(document).ready() 的简写,用于 DOM 加载后执行回调。
  • jQuery(selector[, context]):根据 CSS 选择器查找 JQuery 包装集,context 可以为 DOM 对象或 JQuery 包装集。
  • JQuery 选择器

    1. 基础选择器

    • 根据标签名选择:$("input")
    • 根据 id 选择:$("#text11")
    • 根据 class 选择:$(".text11")
    • 同时选择多个元素:$("#text11,.text12")
    • 选择所有元素:$("*")

    2. 层次选择器

    • 从所有 tr 标签中获取下方所有 id 为 "text11" 的元素:$("tr #text11")
    • 获取所有 td 标签下的直接 input 子元素:$("td > input")
    • 获取 id 为 "text11" 的元素后面的 class 为 "button11" 的元素:$("#text11 + .button11")
    • 获取 id 为 "text11" 的元素后面的所有 class 为 "button11" 的元素:$("#text11 ~ .button11")

    3. 过滤器

    • 获取第一个 input 元素:$("input:first")
    • 获取最后一个 input 元素:$("input:last")
    • 获取未被选中的 input 元素:$("input:not(:checked)")
    • 获取奇数索引的 input 元素:$("input:even")
    • 获取偶数索引的 input 元素:$("input:odd")
    • 获取索引为 1 的 input 元素:$("input:eq(1)")
    • 获取索引大于 0 的 input 元素:$("input:gt(0)")
    • 获取索引小于 2 的 input 元素:$("input:lt(2)")
    • 获取所有 <h> 标签:$(":header")
    • 获取正在执行动画的元素:$(":animated")

    4. 内容过滤器

    • 查找包含 "你好世界!" 的 <h1> 元素:$("h1:contains('你好世界!')")
    • 获取不含子标签或 HTML 内容为空的 <td> 元素:$("td:empty")
    • 获取含有 input 子元素的 <td> 元素:$("td:has(input)")
    • 获取含有子标签或有 HTML 内容的 <td> 元素:$("td:parent")

    5. 可见性过滤器

    • 隐藏的 input 元素:$("input:hidden")
    • 可见的 input 元素:$("input:visible")

    6. 属性过滤器

    • 获取含有 id 属性的 input 元素:$("input[id]")
    • 获取 name 属性值为 "text11" 的 input 元素:$("input[name='text11']")
    • 获取 name 属性值不等于 "text11" 的 input 元素:$("input[name!='text11']")
    • 获取 name 属性值以 "text" 开头的 input 元素:$("input[name^='text']")
    • 获取 name 属性值以 "11" 结尾的 input 元素:$("input[name$='11']")
    • 获取 name 属性值中含有 "ext" 的 input 元素:$("input[name*='ext']")
    • 获取含有 id 属性且 name 值中含有 "ext" 的 input 元素:$("input[id][name*='ext']")

    7. 子元素过滤器

    • 获取父元素的第 2 个子元素:$("input:nth-child(2)")
    • 获取父元素的第一个子元素:$("input:first-child")
    • 获取父元素的最后一个子元素:$("input:last-child")
    • 获取父元素的唯一子元素:$("input:only-child")

    8. 表单选择器

    • 获取所有 input 元素:$(":input")
    • 获取所有文本框元素:$(":text")
    • 获取所有密码框元素:$(":password")
    • 获取所有复选框:$(":checkbox")
    • 获取所有提交按钮:$(":submit")
    • 获取所有图像域元素:$(":image")
    • 获取所有重置按钮:$(":reset")
    • 获取所有按钮元素:$(":button")
    • 获取所有文件域元素:$(":file")

    9. 表单过滤器

    • 获取所有可用的 input 元素:$("input:enabled")
    • 获取所有不可用的 input 元素:$("input:disabled")
    • 获取所有选中的单选复选框:$("input:checked")
    • 获取所有选中的下拉框:$("option:selected")

    其他常见使用

    • 多条件选择:$('#td1,#td2,p').css('color','red');
    • 不满足特定条件的选择:$('tbody td[attr1!="a1"]')
    • 组合选择:$('[attr1="a1"][attr2="a2"]')

    转载地址:http://qnjmz.baihongyu.com/

    你可能感兴趣的文章
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>