jQuery 选择器

jQuery 选择器

  • 基本选择器

    • #id:根据给定的ID匹配一个元素

    HTML:

    <div id="notMe">1</div>
    <div id="myDiv">2</div>
    

    jQuery:

    $("#myDiv");
    
    • .class:根据给定的类名称匹配元素

    HTML:

    <div class="myDiv">1</div>
    <div class="notMe">2</div>
    

    jQuery:

    $(".myDiv");
    
    • *:匹配所有元素

    HTML:

    <div class="myDiv">1</div>
    <div class="notMe"><span>2</span></div>
    

    jQuery:

    $("*");
    
    • selector1,selector2:将每一个选择器匹配到的元素合并后一起返回

    HTML:

    <div class="nav">1</div>`
    <div class="nav1"><span id="text">2</span></div>
    

    jQuery:

    $(".nav,.nav1,#text");
    
  • 层级选择器

    • ancestor descendant:在给定的祖先元素下匹配所有的后代元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     </ul>
    

    jQuery:

    $("ul li");
    
    • parent > child:在给定的父元素下匹配所有的子元素

    HTML:

    <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<p>4</p>
     </ul>
    

    jQuery:

    $("ul>li");
    
    • prev + next:匹配所有紧接在 prev 元素后的 next 元素

    HTML:

    <div>
       <label>1+1</label>
       <span>2</span>
    </div>
    

    jQuery:

    $("label+span");
    
  • 基本筛选器

    • :first:获取第一个元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     </ul>
    

    jQuery:

    $("ul>li:first");
    
    • :last:获取最后一个元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     </ul>
    

    jQuery:

    $("ul>li:last");
    
    • :not:去除所有与给定选择器匹配的元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     </ul>
    

    jQuery:

    $("ul>li:not(ul>li:first):not(ul>li:last)");
    
    • :even:匹配所有索引值为偶数的元素,从 0 开始计数

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<li>4</li>
     	<li>5</li>
     </ul>
    

    jQuery:

    $("ul>li:even");
    
    • :odd:匹配所有索引值为奇数的元素,从 0 开始计数

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<li>4</li>
     	<li>5</li>
     </ul>
    

    jQuery:

    $("ul>li:odd");
    
    • :eq(index):匹配一个给定索引值的元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<li>4</li>
     	<li>5</li>
     </ul>
    

    jQuery:

    $("ul>li:eq(2)");
    
    • :gt:匹配所有大于给定索引值的元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<li>4</li>
     	<li>5</li>
     </ul>
    

    jQuery:

    $("ul>li:gt(2)");
    
    • :lt:匹配所有小于给定索引值的元素

    HTML:

     <ul>
     	<li>1</li>
     	<li>2</li>
     	<li>3</li>
     	<li>4</li>
     	<li>5</li>
     </ul>
    

    jQuery:

    $("ul>li:lt(2)");
    
  • 内容选择器

    • :contains(text):匹配包含给定文本的元素

    HTML:

     <ul>
     	<li>12345</li>
     	<li>1234</li>
     	<li>123</li>
     	<li>12</li>
     	<li>1</li>
     </ul>
    

    jQuery:

    $("ul>li:contains(5)");
    
    • :empty:匹配所有不包含子元素或者文本的空元素

    HTML:

     <ul>
     	<li>12345</li>
     	<li>1234</li>
     	<li>123</li>
     	<li></li>
     	<li></li>
     </ul>
    

    jQuery:

    $("ul>li:empty");
    
    • :has(selector):匹配含有选择器所匹配的元素的元素

    HTML:

     <div><p>1</p></div>
     <div>2</div>
    

    jQuery:

    $("div:has(p)");
    
    • :parent:匹配含有子元素或者文本的元素

    HTML:

     <div><p>1</p></div>
     <div>2</div>
    

    jQuery:

    $("p:parent");
    
  • 可见性选择器

    • :hidden:匹配所有不可见元素,或者type为hidden的元素

    HTML:

     <div style="display:none"><p>1</p></div>
     <div>2</div>
    

    jQuery:

    $("div:hidden");
    
    • :visible:匹配所有的可见元素

    HTML:

     <div style="display:none"><p>1</p></div>
     <div>2</div>
    

    jQuery:

    $("div:visible");
    
  • 属性选择器

    • [attribute]:匹配包含给定属性的元素

    HTML:

     <div id="nav"><p>1</p></div>
     <div>2</div>
    

    jQuery:

    $("div[id]");
    
    • [attribute=value]:匹配给定的属性是某个特定值的元素

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="new" value="QW" />
    <input type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[name='new']");
    
    • [attribute!=value]:匹配所有不含有指定的属性,或者属性不等于特定值的元素

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="new" value="QW" />
    <input type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[name!='new']");
    
    • [attribute^=value]:匹配给定的属性是以某些值开始的元素

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="playable" value="QW" />
    <input type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[name^='play']");
    
    • [attribute$=value]:匹配给定的属性是以某些值结尾的元素

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="playable" value="QW" />
    <input type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[name$='able']");
    
    • [attribute*=value]:匹配给定的属性是以包含某些值的元素

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="playable" value="QW" />
    <input type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[name*='lay']");
    
    • [selector1][selector2][selectorN]:复合属性选择器,需要同时满足多个条件时使用

    HTML:

    <input type="checkbox" name="news" value="AS" />
    <input type="checkbox" name="playable" value="QW" />
    <input id=“btn” type="checkbox" name="accept" value="AD" />
    

    jQuery:

    $("div[id][name*='ept']");
    
  • 子元素选择器

    • :first-child:匹配第一个子元素

    HTML:

    <ul>
       <li>John</li>
       <li>Karl</li>
       <li>Brandon</li>
       <li>Glen</li>
       <li>Tane</li>
       <li>Ralph</li>
    </ul>
    

    jQuery:

    $("ul li:first-child");
    
    • :last-child:匹配最后一个子元素

    HTML:

    <ul>
       <li>John</li>
       <li>Karl</li>
       <li>Brandon</li>
       <li>Glen</li>
       <li>Tane</li>
       <li>Ralph</li>
    </ul>
    

    jQuery:

    $("ul li:last-child");
    
    • :nth-child:匹配其父元素下的第N个子元素

    HTML:

    <ul>
       <li>John</li>
       <li>Karl</li>
       <li>Brandon</li>
       <li>Glen</li>
       <li>Tane</li>
       <li>Ralph</li>
    </ul>
    

    jQuery:

    $("ul li:nth-child(3)");
    
    • :first-of-type:选择所有相同的元素名称的第一个兄弟元素

    HTML:

    <div>
       <span>1</span>
       <span>2</span>
       <span>3</span>
    </div>
    
    

    jQuery:

    $("div:first-of-type");
    
    • :last-of-type:选择的所有元素之间具有相同元素名称的最后一个兄弟元素

    HTML:

    <div>
       <span>1</span>
       <span>2</span>
       <span>3</span>
    </div>
    
    

    jQuery:

    $("div:last-of-type");
    
    • :nth-of-type:选择同属于一个父元素之下,并且标签名相同的子元素中的第n个

    HTML:

    <div>
       <p>0</p>
       <span>1</span>
       <span>2</span>
       <span>3</span>
    </div>
    
    

    jQuery:

    $("span:nth-of-type(1)");
    
    • :only-of-type:选择所有没有兄弟元素,且具有相同的元素名称的元素

    HTML:

    <div>
       <p>0</p>
       <span>1</span>
       <span>2</span>
       <span>3</span>
    </div>
    
    

    jQuery:

    $("p:only-of-type");
    
  • 表单选择器

    • :input:匹配所有 input, textarea, select 和 button 元素

    HTML:

    <form>
       <input type="button" value="Input Button"/>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":input");
    
    • :text:匹配所有的单行文本框

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":text");
    
    • :password:匹配所有密码框

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":password");
    
    • :radio:匹配所有单选按钮

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":radio");
    
    • :checkbox:匹配所有复选框

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":checkbox");
    
    • :submit:匹配所有提交按钮

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":submit");
    
    • :image:匹配所有图像域

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":image");
    
    • :reset:匹配所有重置按钮

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":reset");
    
    • :button:匹配所有按钮

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <input type="button" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":button");
    
    • :file:匹配所有文件域

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <input type="button" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":file");
    
    • :hidden:匹配所有不可见元素,或者type为hidden的元素

    HTML:

    <form>
       <input type="checkbox" />
       <input type="file" />
       <input type="hidden" />
       <input type="image" />
       <input type="password" />
       <input type="radio" />
       <input type="reset" />
       <input type="submit" />
       <input type="text" />
       <input type="button" />
       <select><option>Option</option></select>
       <textarea></textarea>
       <button>Button</button>
    </form>
    

    jQuery:

    $(":hidden");
    
  • 表单对象属性

    • :enabled:匹配所有可用元素

    HTML:

    <form>
       <input name="email" disabled="disabled" />
       <input name="id" />
    </form>
    

    jQuery:

    $("input:enabled");
    
    • :disabled:匹配所有不可用元素

    HTML:

    <form>
       <input name="email" disabled="disabled" />
       <input name="id" />
    </form>
    

    jQuery:

    $("input:disabled");
    
    • :checked:匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)

    HTML:

    <form>
       <input name="email" disabled="disabled" />
       <input type="checkbox" checked="checked" name="id" />
    </form>
    

    jQuery:

    $("input:checked");
    
    • :selected:匹配所有选中的option元素

    HTML:

    <select>
       <option value="1">Flowers</option>
       <option value="2" selected="selected">Gardens</option>
       <option value="3">Trees</option>
    </select>
    

    jQuery:

    $("select option:selected");
    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值