jQuery选择器

一、基本选择器

1,概述

  - #id : id选择器
  - element : 元素选择器
  - .class : 属性选择器
  - * : 任意标签
  - selector1,selector2,selectorN : 取多个选择器的并集(组合选择器)
  - selector1selector2selectorN : 取多个选择器的交集(相交选择器)

2,使用示例

操作区:

<div id="div1" class="box">div1(class="box")</div>
<div id="div2" class="box">div2(class="box")</div>
<div id="div3">div3</div>
<span class="box">span(class="box")</span>

<br>
<ul>
  <li>AAAAA</li>
  <li title="hello">BBBBB(title="hello")</li>
  <li class="box">CCCCC(class="box")</li>
  <li title="hello">DDDDDD(title="hello")</li>
</ul>

需求:

(1)选择id为div1的元素
$(‘#div1’).css(‘background’, ‘red’)

(2)选择所有的div元素
$(‘div’).css(‘background’, ‘red’)

(3)选择所有class属性为box的元素
$(‘.box’).css(‘background’, ‘red’)

(4)选择所有的div和span元素
$(‘div,span’).css(‘background’, ‘red’)

(5)选择所有class属性为box的div元素
$(‘div.box’).css(‘background’, ‘red’)

二、层次选择器

1,概述
层次选择器:查找子元素,后代元素,兄弟元素的选择器

  • ancestor descendant
    在给定的祖先元素下匹配所有的后代元素
  • parent>child
    在给定的父元素下匹配所有的子元素
  • prev+next
    匹配所有紧接在 prev 元素后的 next 元素
  • prev~siblings
    匹配 prev 元素之后的所有 siblings 元素

2,使用示例
操作区:

<ul>
  <li>AAAAA</li>
  <li class="box">CCCCC</li>
  <li title="hello"><span>BBBBB</span></li>
  <li title="hello"><span class="box">DDDD</span></li>
  <span>EEEEE</span>
</ul>

需求:

  1. 选中ul下所有的的span
    $(‘ul span’).css(‘background’, ‘yellow’)

  2. 选中ul下所有的子元素span
    $(‘ul>span’).css(‘background’, ‘yellow’)

  3. 选中class为box的下一个li
    $(‘.box+li’).css(‘background’, ‘yellow’)

  4. 选中ul下的class为box的元素后面的所有兄弟元素
    $(‘ul .box~*’).css(‘background’, ‘yellow’)

三、过滤选择器

1,概述

在原有选择器匹配的元素中进一步过滤的选择器
* 基本过滤
* 内容过滤
* 可见性过滤
* 属性过滤

2,使用示例
操作区:

<div id="div1" class="box">class为box的div1</div>
<div id="div2" class="box">class为box的div2</div>
<div id="div3">div3</div>
<span class="box">class为box的span</span>
<br/>
<ul>
  <li>AAAAA</li>
  <li title="hello">BBBBB</li>
  <li class="box">CCCCC</li>
  <li title="hello">DDDDDD</li>
  <li title="two">BBBBB</li>
  <li style="display:none">我本来是隐藏的</li>
</ul>

需求:

  1. 选择第一个div
    $(‘div:first’).css(‘background’, ‘red’)

  2. 选择最后一个class为box的元素
    $(‘.box:last’).css(‘background’, ‘red’)

  3. 选择所有class属性不为box的div
    $(‘div:not(.box)’).css(‘background’, ‘red’) //没有class属性也可以

  4. 选择第二个和第三个li元素
    $(‘li:gt(0):lt(2)’).css(‘background’, ‘red’) // 多个过滤选择器不是同时执行, 而是依次

  5. 选择内容为BBBBB的li
    $(‘li:contains(“BBBBB”)’).css(‘background’, ‘red’)

  6. 选择隐藏的li
    console.log((li:hidden).length,(′li:hidden′).length,(‘li:hidden’)[0])

  7. 选择有title属性的li元素
    $(‘li[title]’).css(‘background’, ‘red’)

  8. 选择所有属性title为hello的li元素
    $(‘li[title=”hello”]’).css(‘background’, ‘red’)

四、表单选择器

使用示例
操作区:

<form>
  用户名: <input type="text"/><br>
  密 码: <input type="password"/><br>
  爱 好:
  <input type="checkbox" checked="checked"/>篮球
  <input type="checkbox"/>足球
  <input type="checkbox" checked="checked"/>羽毛球 <br>
  性 别:
  <input type="radio" name="sex" value='male'/>男
  <input type="radio" name="sex" value='female'/>女<br>
  邮 箱: <input type="text" name="email" disabled="disabled"/><br>
  所在地:
  <select>
    <option value="1">北京</option>
    <option value="2" selected="selected">天津</option>
    <option value="3">河北</option>
  </select><br>
  <input type="submit" value="提交"/>
</form>

需求:

  1. 选择不可用的文本输入框
    $(‘:text:disabled’).css(‘background’, ‘red’)

  2. 显示选择爱好 的个数
    console.log($(‘:checkbox:checked’).length)

  3. 显示选择的城市名称

 $(':submit').click(function () {
    var city = $('select>option:selected').html() // 选择的option的标签体文本
    city = $('select').val()  // 选择的option的value属性值
    alert(city)
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值