小陈学 jQuery-jQuery基础之-获取节点-

一、jQuery的优势

体积小,压缩后只有100KB左右
强大的选择器
出色的DOM封装
可靠的事件处理机制
出色的浏览器兼容性
使用隐式迭代简化编程
丰富的插件支持

简化JS的复杂操作
不再需要关心兼容性
提供大量实用方法

二、获取节点

    • 基本选择器

全局

*  表示选择到所有网页元素

标签

p ,a ,img ,h1,span

​​​​​​​class

也叫类选择器,一个class可以用在多个元素上;一个元素也可以使用多个class,之间用空格隔开

​​​​​​​id

一个id只能用在一个元素上

​​​​​​​交集

也叫指定选择器,把元素与class或id选择器结合起来用。

如span.red{ }

div#top{ }

​​​​​​​并集

也叫群选择器,多个不同的选择器 设置 相同的样式,不同的选择器之间用逗号分隔。

#box,p,.class1{...}​​​​​​​

示例

<script>
    $(function () {
        $("*").css("color", "red"); // 通配符(全局)选择器
        $("p").css("color", "blue"); // 标签选择器
        $(".list").css("color", "green"); // class选择器
        $("#box").css("color", "purple"); // id选择器
        $("p.aaa").css("color", "pink"); // 交集选择器
        $("h1,p,a,.test").css("text-decoration", "underline"); // 并集(群)选择器
    });
</script>

 

    • 层次选择器、、

同辈

div p   选择div里面所有的p段落

​​​​​​​子代

div>p   选择div里面的所有子代p元素,不包括孙代p元素

​​​​​​​相邻

div+p    选择在div后面的第一个p元素(如果div后面第一个元素不是p,则无效)

​​​​​​​同辈

div~p     选择在div后面的所有的p元素

​​​​​​​示例

<script>
    // 后代选择器
    $("form input").css("border", "2px dotted blue");
    $("form fieldset input").css("backgroundColor", "yellow");

    // 子代选择器
    $("ul.topnav > li").css("border", "3px solid red");

    // 相邻兄弟选择器
    $("label + input").css("color", "blue").val("Labeled!");

    // 通用兄弟选择器
    $("#box ~ p").css("color", "blue");

</script>

 

    • 属性选择器

属性选择器都是放在中括号里面的

​​​​​​​[attr]

选择带有attr属性的元素

​​​​​​​[attr="value"]

属性值等于value

​​​​​​​[attr^="value"]

属性值以value开头

​​​​​​​[attr$="value"]

属性值以value结尾

​​​​​​​[attr*="value"]

属性值包含value

​​​​​​​[attr~="value"]

属性值中含有value的,value是独立的,或用空格隔开才行,而*只要包含就行,比~范围广

​​​​​​​[attr|="value"]

属性值为value或value-开头

​​​​​​​[attr!="value"]

jQuery多了一个:[attr!="value"]
选取属性值不等于value的元素,CSS3没有这个选择器

 

    • 伪类

除了4种鼠标状态伪类选择器,除了target,jQuery都支持,在jQuery中也叫过滤选择器

​​​​​​​:first-child

E:first-child 第一个E元素(这个E元素必须是父元素的第一个子元素)

​​​​​​​:first-of-type

E:first-of-type

第一个E类型的元素(这个E元素不一定是父元素的第一个子元素)

​​​​​​​:last-child

E:last-child 最后一个E元素(这个E元素必须是父元素的最后一个子元素)

​​​​​​​:last-of-type

E:last-of-type 最后一个E类型的元素(这个E元素不一定是父元素的最后一个子元素)

​​​​​​​:nth-child(n)

选择第n个子元素(从前往后数)

n是从1开始

E:nth-child(n)  选择第n个E元素。
li:nth-child(2n) {color:red}
li:nth-child(2n+1) {color:red}
li:nth-child(even){color:#f00;} /* 偶数 */
li:nth-child(odd){color:purple;} /* 奇数 */

​​​​​​​:nth-of-type(n)

E:nth-of-type(n)  选择第n个E类型的元素

​​​​​​​​​​​​​​:nth-last-child(n)

E:nth-last-child(n)

选择第n个子元素(从后往前数)

​​​​​​​:nth-last-of-type(n)

E:nth-last-of-type(n)

​​​​​​​:only-child

就是父盒子里面只有它一个子元素

<style>
    ul li:only-child {
        color: red;
    }
</style>
<ul>
    <li>1111111111</li>
</ul>
<ul>
    <li>2222222</li>
    <li>33333333</li>
    <li>4444</li>
</ul>

 

​​​​​​​only-of-type

就是父盒子里面只有它一个E类型的子元素,父盒子里面可以有多个子元素

<style>
    ul li:only-of-type {
        color: red;
    }
</style>
<ul>
    <p>pppp</p>
    <p>ppppp</p>
    <li>1111111111</li>
</ul>

 

​​​​​​​:empty

选择没有任何子元素(包括text节点)的元素E

<style>
    div p:empty {
        height: 25px;
        border: 1px solid #ccc;
        background: red;
    }
</style>
<div>
    <p>11111</p>
    <p></p>
    <p>33333</p>
</div>

 

​​​​​​​:enabled

选择表单中处于可用状态的元素

input:enabled{color:red}

​​​​​​​:disabled

选择表单中处于禁用状态的元素

input:disabled{color:red}

<style>
    input[type="text"]:enabled {
        border: 2px solid blue;
        background: greenyellow;
        color: #000;
    }

    input[type="text"]:disabled {
        border: 2px solid black;
        background: orangered;
        color: #fff;
    }
</style>
<input type="text" value="可用状态" />
<input type="text" value="禁用状态" disabled="disabled" />

 

​​​​​​​:checked

选择表单中被选中的radio或checkbox元素

input:checked{color:red}

<style>
    input:checked+span {
        background: #f00;
    }

    input:checked+span:after {
        content: " 我被选中了";
    }
</style>

<label><input type="radio" name="colour-group" value="0" /><span>蓝色</span></label>
<label><input type="radio" name="colour-group" value="1" /><span>红色</span></label>

 

​​​​​​​:focus

选择获得焦点的 input 元素

<style>
    input:focus {
        background: #f6f6f6;
        color: #f60;
        border: 1px solid #f60;
        outline: none;
    }
</style>
<input value="姓名" />
<input value="单位" />

 

​​​​​​​:seclected

选中的

​​​​​​​E:not(selector)

匹配不含有selector选择符的元素E

<style>
    .test :not(p) {
        color: red;
    }
</style>
<div class="test">
    <p>11111</p>
    <p>22222</p>
    <span>爱学吧</span>
</div>

 

<style>
    ul li:not(:last-child) {
        border-bottom: 1px solid red;
    }
</style>
<ul>
    <li>11111</li>
    <li>2222</li>
    <li>333333</li>
</ul>

 

<style>
    div p:not(.abc) {
        color: red;
    }
</style>
<div>
    <p>1111</p>
    <p class="abc">222</p>
    <p>33333</p>
</div>

 

​​​​​​​E:lang(fr)

匹配使用特殊语言的E元素

<style>
    div p:lang(en) {
        color: #090;
    }
</style>
<div>
    <p lang="kr">大段测试文字</p>
    <p lang="en">english</p>
</div>

 

​​​​​​​:root

匹配根元素。在HTML中,根元素永远是HTML  

​​​​​​​:contains(text)

选取包含特定文本的元素  $('td:contains("学习")')  返回包含 “学习”的td元素

​​​​​​​:has(selector)

选取包含selector元素的元素 $('tr:has("th")')  选取包含th元素的tr元素

 

    • 过滤选择器

:first

选取第一个元素

$(" li:first" )选取所有<li>元素中的第一个<li>元素

​​​​​​​:last

选取最后一个元素

$(" li:last" )选取所有<li>元素中的最后一个<li>元素

​​​​​​​:not(selector)

选取去除所有与给定选择器匹配的元素

$(" li:not(.three)" )选取class不是three的元素

​​​​​​​:even

选取索引是偶数的所有元素(index从0开始)

$(" li:even" )选取索引是偶数的所有<li>元素

​​​​​​​:odd

选取索引是奇数的所有元素(index从0开始)

$(" li:odd" )选取索引是奇数的所有<li>元素

 

​​​​​​​:eq(index)

选取索引等于index的元素(index从0开始)

$("li:eq(1)" )选取索引等于1的<li>元素

​​​​​​​:gt(index)

选取索引大于index的元素(index从0开始)

$(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1)

​​​​​​​:lt(index)

选取索引小于index的元素(index从0开始)

$(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1)

​​​​​​​:header

选取所有标题元素,如h1~h6

$(":header" )选取网页中所有标题元素

​​​​​​​:focus

选取当前获取焦点的元素

$(":focus" )选取当前获取焦点的元素

​​​​​​​:animated

选择所有动画

$(":animated" )选取当前所有动画元素

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值