jquery选择器大全

2017-02-23  本文已影响77人  108N8

一、基本选择器

1. id选择器(指定元素的id),将id = "myComponent"的元素背景色设置为红色。

 $('#myComponent').css('backgroundColor','#f00');

2. class选择器,将class = "form-group"的背景色设置为黑色。

    $('.form-group').css({
        "backgroundColor":"#000"
    });

3. element选择器(标签选择器),将p元素的文字大小设置为18px

 $('p').css('font-size', '18px');

4. 通配符选择器(*

 // form下的所有元素,将字体颜色设置为红色
        $('form *').css('color', '#f00');

5. 群组选择器(,)

// 将p元素和div元素的margin设为0
    $('p, div').css('margin', '0');

二、 层次选择器

a. parent > child(直系子元素)
 // 选取div下的第一代span元素,将背景色设为红色
    $('div > span').css('backgroundColor', '#f00');

Eg:下面的代码,只有第一个span会变色,第二个span不属于div的一代子元素,颜色保持不变。

<div>
    <span>123</span>
    <p>
        <span>456</span>
    </p>
</div>

如图:


b. prev + next(下一个兄弟元素,等同于next()方法)
  // 选取class为item的下一个div兄弟元素
  $('.item + div').css('color', '#f00');
  // 等价代码  
  //$('.item').next('div').css('color', '#f00');});

Eg:下面的代码,只有123和789会变色

<p class="item"></p>
<div>123</div>
<div>456</div>
<span class="item"></span>
<div>789</div>

如图:


c. prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)
   // 选取class为inside之后的所有div兄弟元素
    $('.inside ~ div').css('color', '#f00');
    // 等价代码
    //$('.inside').nextAll('div').css('color', '#f00');});

Eg:下面的代码,G2和G4会变色

<div class="inside">G1</div>
<div>G2</div>
<span>G3</span>
<div>G4</div>

如图:


三、 过滤选择器

1. 基本过滤选择器
——1.1 :first和:last(取第一个元素或最后一个元素)
 $('span:first').css('color', '#f00');
 $('span:last').css('color', '#f00');

Eg:下面的代码,G1(first元素)和G3(last元素)会变色

<span>G1</span>
<span>G2</span>
<span>G3</span>

如图:


——1.2 :not(取非元素)
 $('div:not(.wrap)').css('color', '#f00');

Eg:下面的代码,G1会变色

<div>G1</div>
<div class="wrap">G2</div>

如图:


Eg:但是,请注意下面的代码:当G1所在div和G2所在div是父子关系时,G1和G2都会变色。
<div>
    G1    <div class="wrap">G2</div>
</div>

如图:


——1.3 :even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)
   $('tr:even').css('background', 'green'); // 偶数行颜色
   $('tr:odd').css('background', 'red'); // 奇数行颜色

Eg:A、C行颜色green(第一行的索引为0),B、D行颜色red

<table width="200" cellpadding="0" cellspacing="0">
    <tbody>
        <tr><td>A</td></tr>
        <tr><td>B</td></tr>
        <tr><td>C</td></tr>
        <tr><td>D</td></tr>
    </tbody>
</table>

如图:


——1.4 :eq(x) (取指定索引的元素)
 $('tr:eq(2)').css('background', 'yellow');

Eg:更改第三行的背景色,在上面的代码中C的背景会变色。
如图:

——1.5 :gt(x)和:lt(x)(取大于x索引或小于x索引的元素)
   $('ul li:gt(2)').css('color', '#f00');
   $('ul li:lt(2)').css('color', '#00f');

Eg:L4和L5会是红色,L1和L2会是蓝色,L3是默认颜色

<ul>
    <li>L1</li>
    <li>L2</li>
    <li>L3</li>
    <li>L4</li>
    <li>L5</li>
</ul>

如图:


——1.6 :header(取H1~H6标题元素)
 $(':header').css('background', 'lawngreen');

Eg: 下面的代码,H1~H6的背景色都会变

<h1>H1</h1>
<h2>H2</h2>
<h3>H3</h3>
<h4>H4</h4>
<h5>H5</h5>
<h6>H6</h6>

如图:


请看下文.....
上一篇下一篇

猜你喜欢

热点阅读