美文网首页
jQuery 选择器

jQuery 选择器

作者: Manchangdx | 来源:发表于2020-04-09 13:00 被阅读0次

    首先在前端文件中引入:
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>

    前端就有了 jQuery 变量,它是一个函数,并且有一个别名叫 $ ,这个函数叫「标签选择器」

    函数的返回值叫「 jQuery 对象 」,这种对象有下标,可以使用 [2] 来获取第 3 个元素,选出来的元素叫 DOM 对象。

    jQuery 中的元素是 DOM 对象,使用索引获取;DOM 对象可以使用 $(DOM 对象) 转换成 jQuery 对象。

    【常规操作】

    $('form') 获取所有 form 标签

    $('#a3') 获取所有 id 值是 a3 的标签

    $('.col-md-3') 获取所有类属性值包含 col-md-3 的标签

    $('div#c3') 获取所有 id 值是 c3 的 div 标签

    $('div.c3') 获取所有类属性值包含 c3 的 div 标签

    $('.c1, h2') 获取所有类属性值包含 c1 的标签和所有 h2 标签

    【层级选择器】

    $('x y') 获取 x 标签下的各层的所有 y 标签

    $('x > y') 获取 x 标签下第一层的所有 y 标签

    $('x >> y') 获取 x 标签下第二层的所有 y 标签

    $('x >>> y') 获取 x 标签下第三层的所有 y 标签

    $('x > .c2') 获取 x 标签下第一层所有类属性值包含 c2 的标签

    $('x + y') 获取 x 后面紧挨着的那一个同级 y 标签,如果紧挨着的标签不是 y ,就不选

    $('x ~ y') 获取 x 标签同级的所有 y 标签

    【基本选择器】

    $('div ~ p:first') 获取 div 标签的所有同级 p 标签,然后选择第 1 个

    $('div ~ p:last') 获取 div 标签的所有同级 p 标签,然后选择最后 1 个

    $('div ~ p:eq(n)') 获取 div 标签的所有同级 p 标签,然后选择索引(下标)为 n 的那个

    $('div ~ p:even') 获取 div 标签的所有同级 p 标签,然后选择索引为偶数的那些

    $('div ~ p:odd') 获取 div 标签的所有同级 p 标签,然后选择索引为奇数的那些

    $('div ~ p:gt(n)') 获取 div 标签的所有同级 p 标签,然后选择索引大于 n 的那些

    $('div ~ p:lt(n)') 获取 div 标签的所有同级 p 标签,然后选择索引小于 n 的那些

    $('div ~ p:not(.c2)') 获取 div 标签的所有同级 p 标签,然后选择类属性值不包含 c2 的那些

    $('div ~ p:has(a)') 获取 div 标签的所有同级 p 标签,然后选择标签下含有子标签 a 的那些

    【属性选择器】

    注:标签有很多属性,其中较为特殊的是 id 和 class ,要用到此外的属性需要使用属性选择器

    $('input[name]') 获取有 name 属性的 input 标签

    $('input[name=hobby]') 获取 name 属性值是 hobby 的 input 标签

    $('input[name!=hobby]') 获取 name 属性值不是 hobby 的 input 标签

    【 form 表单常用选择器】

    注:表单内通常会有 input 标签,这个标签可能会被 label 标签包裹,以下选择器都是针对 input 标签的

    $(':text') 获取 type 属性值为 text 的 input 标签

    $(':password') 获取 type 属性值为 password 的 input 标签

    $(':file') 获取 type 属性值为 file 的 input 标签

    $(':disabled') 获取有 disabled 属性的 input 标签

    $(':checked') 获取被选中的 input 标签(就是单选框和多选框)

    【 jQuery 对象的常用方法】

    $('#one').next() 获取 id 值为 one 的标签的下一个同级标签

    $('#one').nextAll() 获取 id 值为 one 的标签后面所有的同级标签

    $('#one').nextUntil('.c3') 获取 id 值为 one 的标签后面所有的同级标签,直到出现 class 属性值为 c3 的标签(不包括)为止

    注:prevprevAllprevUntil 获取所选标签上一个同级标签、上面所有的同级标签、直到某个条件为止
    注:parentparentsparentsUntil 是获取所选标签的父标签、所有层级的父标签、直到某个条件为止

    $('form').children() 获取 form 标签下的所有子标签,注意只是最近一层,再深层的不选

    $('#d2').siblings() 获取 id 值为 d2 的标签的所有同级同名标签,例如匹配的是 a 标签,就获取所有同级 a 标签,注意这里不包含 id 值为 d2 的这个标签

    【 jQuery 对象的 find 方法】

    以上操作都是使用 jQuery 方法查找标签,返回值是 jQuery 对象。如果需要针对 jQuery 对象进行再次筛选,可以使用 find 方法,方法内部的字符串规则同上。

    // $form 就是 jQuery 对象
    var $form = $('form');    
    //  调用 jQuery 对象的 find 方法,查找 form 标签内的所有 label 标签
    var x = $form.find('label');   
    

    这种写法通常是已经给定了 $form 对象,需要从中获取一些符合条件的标签。

    相关文章

      网友评论

          本文标题:jQuery 选择器

          本文链接:https://www.haomeiwen.com/subject/myxcmhtx.html