2. jQuery 的选择器

$是jQuery当中最重要且独有的对象,$() 等效于 jQuery() 成为 jQuery()的工厂函数,他就是jq的核心函数,用它可以将dom元素转成jq对象,反之也可。

$(document).ready() 是jq允许的核心。

 

 

jQuery 的选择器 包含两部分 选择器 和 筛选器

1.基本选择器

语法: $(选择器)

返回: 满足条件的所有元素(Id选择器除外)

他不管获取到多少个 他返回的都是一个集合

例:

console.log($('div'));

你会在控制台看到他返回的是一个元素集合

我们管这个集合叫做 jQuery 元素集合。

其中 你CSS的选择器怎么写的 你就在$('')中怎么写就完事了。即: $(选择器);

他都会选择到(具体就要你自己去试试了),当然你class要加.   ID要加#    这是很基本很基本的吧...

当然还有几种特殊的:

:first  返回第一个
:last  返回最后一个
:eq(index)  获取前x指定个 索引从0开始
:odd    索引排列奇数个  下标0开始
:even    索引排列偶数个 下标0开始

例子:
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-3.6.0.min.js"></script>
</head>
<body>

<ul>

    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>

</ul>

<script>

    console.log($('ul>li:first'));
    console.log($('ul>li:last'));
    console.log($('ul>li:eq(4)'));  //索引是从0开始的!
    console.log($('ul>li:odd'));    //索引排列奇数个   0开始的啊   // 内容:2 4 6 8 10 索引:1 3 5 7 9
    console.log($('ul>li:even'));   //索引排列偶数个   0开始的啊   //内容:1 3 5 7 9  索引: 0 2 4 6 8

</script>

</body>
</html>

 

这里要注意一个很重要的点啊! 

console.log($('ul>li:odd'));    //索引排列奇数个   0开始的啊   // 内容:2 4 6 8 10 索引:1 3 5 7 9
    console.log($('ul>li:even'));   //索引排列偶数个   0开始的啊   //内容:1 3 5 7 9  索引: 0 2 4 6 8
    console.log($('ul>li:nth-child(odd)')); //他和:odd 不一样  她是第几个元素来算的 而 :odd 是根据下标来算的
    console.log($('ul>li:nth-child(even)')); //他和:even 不一样  她是第几个元素来算的 而 :even 是根据下标来算的

是根据索引来看的
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-3.6.0.min.js"></script>
</head>
<body>

<ul>

    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>

</ul>

<script>

    // console.log($('ul>li:first'));
    // console.log($('ul>li:last'));
    // console.log($('ul>li:eq(4)'));  //索引是从0开始的!
    console.log($('ul>li:odd'));    //索引排列奇数个   0开始的啊   // 内容:2 4 6 8 10 索引:1 3 5 7 9
    console.log($('ul>li:even'));   //索引排列偶数个   0开始的啊   //内容:1 3 5 7 9  索引: 0 2 4 6 8
    console.log($('ul>li:nth-child(odd)')); //他和:odd 不一样  她是第几个元素来算的 而 :odd 是根据下标来算的
    console.log($('ul>li:nth-child(even)')); //他和:even 不一样  她是第几个元素来算的 而 :even 是根据下标来算的
    // !!!这两个别搞混啊! 很重要!!!

</script>

</body>
</html>

 总结:
$(); 是jQuery中的选择器,但不止这么多写法,还有很多 下面附出!多用即可,多看API吧 前面已给出链接。

 

附(更多選擇器屬性 和 選擇器寫法):

 

jQuery 属性选择器

jQuery 使用 XPath 表达式来选择带有给定属性的元素。

$("[href]") 选取所有带有 href 属性的元素。

$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。

$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。

$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。

 

 

jQuery 选择器

选择器实例选取
* $("*") 所有元素
#id $("#lastname") id="lastname" 的元素
.class $(".intro") 所有 class="intro" 的元素
element $("p") 所有 <p> 元素
.class.class $(".intro.demo") 所有 class="intro" 且 class="demo" 的元素
     
:first $("p:first") 第一个 <p> 元素
:last $("p:last") 最后一个 <p> 元素
:even $("tr:even") 所有偶数 <tr> 元素
:odd $("tr:odd") 所有奇数 <tr> 元素
     
:eq(index) $("ul li:eq(3)") 列表中的第四个元素(index 从 0 开始)
:gt(no) $("ul li:gt(3)") 列出 index 大于 3 的元素
:lt(no) $("ul li:lt(3)") 列出 index 小于 3 的元素
:not(selector) $("input:not(:empty)") 所有不为空的 input 元素
     
:header $(":header") 所有标题元素 <h1> - <h6>
:animated   所有动画元素
     
:contains(text) $(":contains('W3School')") 包含指定字符串的所有元素
:empty $(":empty") 无子(元素)节点的所有元素
:hidden $("p:hidden") 所有隐藏的 <p> 元素
:visible $("table:visible") 所有可见的表格
     
s1,s2,s3 $("th,td,.intro") 所有带有匹配选择的元素
     
[attribute] $("[href]") 所有带有 href 属性的元素
[attribute=value] $("[href='#']") 所有 href 属性的值等于 "#" 的元素
[attribute!=value] $("[href!='#']") 所有 href 属性的值不等于 "#" 的元素
[attribute$=value] $("[href$='.jpg']") 所有 href 属性的值包含以 ".jpg" 结尾的元素
     
:input $(":input") 所有 <input> 元素
:text $(":text") 所有 type="text" 的 <input> 元素
:password $(":password") 所有 type="password" 的 <input> 元素
:radio $(":radio") 所有 type="radio" 的 <input> 元素
:checkbox $(":checkbox") 所有 type="checkbox" 的 <input> 元素
:submit $(":submit") 所有 type="submit" 的 <input> 元素
:reset $(":reset") 所有 type="reset" 的 <input> 元素
:button $(":button") 所有 type="button" 的 <input> 元素
:image $(":image") 所有 type="image" 的 <input> 元素
:file $(":file") 所有 type="file" 的 <input> 元素
     
:enabled $(":enabled") 所有激活的 input 元素
:disabled $(":disabled") 所有禁用的 input 元素
:selected $(":selected") 所有被选取的 input 元素
:checked $(":checked") 所有被选中的 input 元素
posted @ 2021-05-19 14:46  咸瑜  阅读(77)  评论(0编辑  收藏  举报