jQuery选择器全解析

Posted 柚子苹果果

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery选择器全解析相关的知识,希望对你有一定的参考价值。

1. 基本选择器

1.1 id选择器:$(#id)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div {
        width: 100%;
        height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
    }
</style>
</head>
<body>
    <div id="a"></div>
    <div id="a"></div>
    
    <script>
        $("#a").html("我选中你了");
    </script>
</body>
</html>

执行结果:只选中第一个。

1.2 类型选择器:$(.class)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div {
        width: 100%;
        height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
    }
</style>
</head>
<body>
    <div class="a"></div>
    <div class="a"></div>
    
    <script>
        $(".a").html("我选中你了");
    </script>
</body>
</html>

执行结果:两个div都会被选中。

1.3 元素选择器:$(element)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <div></div>
    <div></div>
    <span></span>
    <span></span>
    
    <script>
        $("span").html("我选中你了");
    </script>
</body>
</html>

执行结果:两个span元素会被选中。

1.4 全部选择器:$(选择器1 *)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        min-height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <div><span></span></div>
    <div><div></div></div>
    <span></span>
    <span></span>
    
    <script>
        $("body *").css("border-color","red");
    </script>
</body>
</html>

执行结果:body下的所有子元素(包含子元素的子元素)都被选中。

1.5 多项选择器:$(选择器1,选择器2,选择器3,选择器4)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        min-height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <div id="a"></div>
    <div class="b"></div>    
    <span>
        <div></div>
        <div></div>
    </span>
    <div></div>
 
    <script>
        $("#a,.b,span *").html("我选中你了");
    </script>
</body>
</html>

上例中,$("#a,.b,span *")包含了三个选择器,#a选中id等于a的元素,.b选中class等于b的元素,span *选中所有span下的所有元素。所以执行结果为:前两个div以及span内的两个div会被选中。

1.6 基本选择器的组合应用:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        min-height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <div class="a"></div>
    <span class="a"></span>
    <span id="b"></span>
    <span id="c">
        <a></a>
        <a></a>        
    </span>
    <script>
            $("div.a, span#b, span#c *").html("我选中你了");
    </script>
</body>
</html>

执行结果:class等于a的div将会被选中,id等于b的span将会被选中,id等于c的所有子元素将会被选中。

2. 层级选择器

2.1 祖孙选择器:$(选择器1 选择器2)

选择“选择器1”的子元素(包含子元素的子元素)中,匹配“选择器2”的所有元素

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        min-height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <a>第1个</a>
    <span>
        <div>
            <a>第2个</a>
            <a>第3个</a>
        </div>
        <a>第4个</a>
        <div>
            <a>第5个</a>
            <span>
                <a>第6个</a>
            </span>
        </div>
    </span>
    <script>
            $("span a").css("color","red");
    </script>
</body>
</html>

执行结果:2-6会被选中。

2.2 父子选择器:$(选择器1>选择器2)

选择“选择器1”的子元素(必须是直属父子元素)中,匹配“选择器2”的所有元素

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script src="jquery-3.0.0.min.js"></script>
<style>
    div, span {
        width: 100%;
        min-height: 20px;
        text-align:center;
        border: 1px solid #555;
        margin: 5px;
        display:block;
    }
</style>
</head>
<body>
    <a>第1个</a>
    <span>
        <div>
            <a>第2个</a>
            <a>第3个</a>
        </div>
        <a>第4个</a>
        <div>
            <a>第5个</a>
            <span>
                <a>第6个</a>
            </span>
        </div>
    </span>
    <script>
            $("span>a").css("color","red");
    </script>
</body>
</html>
执行结果:4,6会被选中。

 

未完待续。。。

以上是关于jQuery选择器全解析的主要内容,如果未能解决你的问题,请参考以下文章

jQuer的实用语法

jquery基本操作

几个非常实用的JQuery代码片段

jquery中的$的特殊用法

jQuery应用 代码片段

Visual Studio 2012-2019的130多个jQuery代码片段。