• jQuery选择器


    (重新捡起jQuery)

    • 基本选择器
    基本选择器语法
    选择器 功能描述 返回值
    #id 根据给定的ID匹配一个元素 单个元素
    element 根据给定的元素名称匹配所有元素 元素集合
    .class 根据给定的类匹配元素 元素集合
    * 匹配所有元素 元素集合
    selector1,selector2 将每一个选择器匹配到的元素合并后一起返回 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>jQuery基本选择器</title>
        <meta charset="utf-8" />
        <script src="~/Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center
            }
            .clsFrame {
                width:65px;height:100px
            }
            .clsFrame div, span {
                display:none;float:left;width:65px;height:65px;border:1px solid #00ffff;margin:8px
            }
        </style>
        <script type="text/javascript">
            //id选择器
            $(function() {
                $("#divOne").css("display", "block");
            })
            //元素名匹配元素
            $(function () {
                $("div span").css("display", "block");
            })
            //类匹配元素
            $(function () {
                $(".clsFrame .clsOne").css("display", "block");
            })
            //匹配所有元素
            $(function () {
                $("*").css("display", "block");
            })
            //合并匹配的元素
            $(function () {
                $("#divOne,span").css("display", "block");
            })
        </script>
    </head>
    <body>
        <div class="clsFrame">
            <div id="divOne">ID</div>
            <div class="clsOne">CLASS</div>
            <span>Span</span>
        </div>
    </body>
    </html>
    例子:
    •  层次选择器
    层次选择器语法
    选择器 功能描述 返回值
    ancestor descendant 根据祖先元素匹配所有的后代元素 元素集合
    parent>child 根据父元素匹配所有的子元素 元素集合
    prev+next 匹配所有紧接在prev元素后的相邻元素 元素集合
    prev~siblings 匹配prev元素之后的所有兄弟元素 元素集合

     

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>jQuery层次选择器</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center
            }
            div,span {
                float:left;border:1px solid #ff0000;margin:8px;display:none
            }
            .clsFraA{
                width:65px;height:65px
            }
            .clsFraP {
                width:45px;height:45px;background-color:#ffd800
            }
            .clsFraC {
                width:25px;height:25px;background-color:#0026ff
            }
        </style>
        <script type="text/javascript">
            //匹配后代元素
            $(function () {
                $("#divMid").css("display", "block");
                $("div span").css("display", "block");
            })
            //匹配子元素
            $(function () {
                $("#divMid").css("display", "block");
                $("div>span").css("display", "block");
            })
            //匹配后面元素
            $(function () {
                $("#divMid+div").css("display", "block");
                $("#divMid").next().css("display", "block");
            })
            //匹配所有后面的元素
            $(function () {
                $("#divMid~div").css("display", "block");
                $("#divMid").nextAll().css("display", "block");
            })
        </script>
    </head>
    <body>
        <div class="clsFraA">Left</div>
        <div class="clsFraA" id="divMid">
            <span class="clsFraP" id="Span1">
                <span class="clsFraC" id="Span2"></span>
            </span>
        </div>
        <div class="clsFraA">Right_1</div>
        <div class="clsFraA">Right_2</div>
    </body>
    </html>
    例子:
    简单过滤选择器
    选择器 功能描述 返回值
    first() 或 :first 获取第一个元素 单个元素
    last() 或 :last 获取最后一个元素 单个元素
    :not(selector) 获取除给定选择器外的所有元素 元素集合
    :even 获取所有索引值为偶数的元素,索引号从0开始 元素集合
    :odd 获取所有索引值为奇数的元素。索引号从0开始 元素集合
    :eq(index) 获取指定索引值的元素,索引号从0开始 单个元素
    :gt(index) 获取所有大于给定索引值的元素,索引号从0开始 元素集合
    :lt(index) 获取所有小于给定索引值的元素,索引号从0开始 元素集合
    :header 获取所有标题类型的元素,如h1,h2...... 元素集合
    :animated 获取正在执行动画效果的元素 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>jQuery简单过滤选择器</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            div {
                width:241px;height:83px;border:1px,solid,#ff0000;
            }
            h1 {
                font-size:13px;
            }
            ul {
                list-style-type:none;padding:0px;
            }
            .DefClass, .NotClass {
                width:60px;height:23px;
                line-height:23px;float:left;
                border-top:1px solid #ffd800;
                border-bottom:1px solid #4cff00;
            }
            .GetFocus {
                width:58px;border:1px solid #808080;
                background-color:#ff6a00;
            }
            #spnMove {
                width:238px;height:30px;line-height:30px;
            }
        </style>
        <script type="text/javascript">
            $(function () {
                //增加第一个元素类别
                $("li").first().addClass("GetFocus");
                $("li:first").addClass("GetFocus");
                //增加最后一个元素类别
                $("li:last").addClass("GetFocus");
                $("li").last().addClass("GetFocus");
                //增加除去所有给定选择器匹配的元素类别
                $("li:not(.NotClass)").addClass("GetFocus");
                //增加所有索引值为偶数的元素类别
                $("li:even").addClass("GetFocus");
                //增加所有索引值为基数的元素类别
                $("li:odd").addClass("GetFocus");
                //增加一个给定索引值的元素类别
                $("li:eq(6)").addClass("GetFocus");
                //增加所有大于给定索引值的元素类别
                $("li:gt(4)").addClass("GetFocus");
                //增加所有小于给定索引值的元素类别
                $("li:lt(4)").addClass("GetFocus");
                //增加标题类元素类别
                $("div h1").css("width", "248").css("height","30");
                $(":header").addClass("GetFocus");
                //增加动画效果元素类别
                animateIt();
                $("#spnMove:animated").addClass("GetFocus");
            })
            function animateIt() {
                $("#spnMove").slideToggle("slow", animateIt);
            }
        </script>
    </head>
    <body>
        <div>
            <h1>基本过滤选择器</h1>
            <ul>
                <li class="DefClass">item 0</li>
                <li class="DefClass">item 1</li>
                <li class="DefClass">item 2</li>
                <li class="DefClass">item 3</li>
                <li class="NotClass">item 4</li>
                <li class="DefClass">item 5</li>
                <li class="DefClass">item 6</li>
                <li class="DefClass">item 7</li>
            </ul>
            <span id="spnMove">Span Move</span>
        </div>
    </body>
    </html>
    例子:
    内容过滤选择器
    选择器 功能描述 返回值
    :contains(text) 获取包含给定文本的元素 元素集合
    :empty 获取所有不包含元素或文本的空元素 元素集合
    :has(selector) 获取含有选择器所匹配的元素 元素集合
    :parent 获取含有子元素或者文本的元素 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>使用jQuery内容过滤选择器</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            div {
                float:left;border:1px solid #ff0000;margin:8px;
                width:56px;height:56px;display:none;
            }
            span {
                float:left;border:1px solid #ff0000;margin:8px;
                width:30px;height:30px;background-color:#b6ff00;
            }
        </style>
        <script type="text/javascript">
            $(function() {
                //显示包含给定文本的元素
                $("div:contains('K')").css("display", "block");
                //显示所有空元素
                $("div:empty").css("display", "block");
                //显示含有选择器所匹配的元素
                $("div:has(span)").css("display", "block");
                //显示含有子元素或者文本的元素
                $("div:parent").css("display", "block");
            })
        </script>
    </head>
    <body>
        <div>AKEKE</div>
        <div><span></span></div>
        <div>Akeke</div>
        <div></div>
    </body>
    </html>
    例子:
    可见性选择器
    选择器 功能描述 返回值
    :hidden 获取所有不可见元素,或者type为hidden的元素 元素集合
    :visible 获取所有可见元素 元素集合

    这个不多加练习了

    属性过滤选择器语法
    选择器 功能描述 返回值
    [attribute] 获取包含给定属性的元素  元素集合
    [attribute=value] 获取等于给定的属性是某个特定值的元素 元素集合
    [attribute!=value] 获取不等于给定的属性是某个特定值的元素 元素集合
    [attribute^=value] 获取给定的属性是以某些值开头的元素 元素集合
    [attribute$=value] 获取给定的属性是以某些值结尾的元素 元素集合
    [attribute*=value] 获取给定的属性是为包含某些值的元素 元素集合
    [selector1][selector2][selectorN] 获取满足多个条件的复合属性的元素 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>属性过滤选择器</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            div {
                float:left;border:1px solid #000000;margin:8px;
                width:75px;height:75px;display:none;
            }
        </style>
        <script type="text/javascript">
            $(function () {
                //显示所有含有ID属性的元素
                $("div[id]").show(1000);
                //显示title属性值为A的元素
                $("div[title=A]").show(1000);
                //显示title属性值不是A的元素
                $("div[title!=A]").show(2000);
                //显示所有属性title的值以A开头的元素
                $("div[title^=A]").show(1000);
                //显示所有属性title的值以C结尾的元素
                $("div[title$=C]").show(1000);
                //显示所有属性title值中含有B的元素,且显示属性id值是divAB的元素
                $("div[title*=B][id=divAB]").show();
            })
        </script>
    </head>
    <body>
        <div id="divID">ID</div>
        <div title="A">Title A</div>
        <div id="divAB" title="AB">ID<br />Title AB</div>
        <div title="ABC">Title ABC</div>
    </body>
    </html>
    例子:
    子元素过滤选择器语法
    选择器 功能描述 返回值
    :nth-child(eq|even|odd|index) 获取每个父元素下的特定位置元素,索引号从1开始 元素集合
    :first-child 获取每个父元素下的第一个子元素 元素集合
    :last-child 获取每个父元素下的最后一个子元素 元素集合
    :only-child 获取每个父元素下的仅有的一个子元素 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>子元素过滤选择器语法</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            ul {
                width:241px;list-style-type:none;padding:0px;
            }
            ul li{
                 height:23px;width:60px;line-height:23px;
                 float:left;border-top:1px solid #4cff00;
                 border-bottom:1px solid #4cff00;margin-top:5px;
            }
            .GetFocus {
                width:58px;border:1px solid #ff0000;
                background-color:#0026ff;
            }
        </style>
        <script type="text/javascript">
            $(function () {
                //增加每个父元素下的第二个子元素类别
                $("li:nth-child(2)").addClass("GetFocus");
                //增加每个父元素下的第一个子元素类别
                $("li:first-child").addClass("GetFocus");
                //增加每个父元素下的最后一个子元素类别
                $("li:last-child").addClass("GetFocus");
                //增加每个父元素下只有一个子元素类别
                $("li:only-child").addClass("GetFocus");
            })
        </script>
    </head>
    <body>
        <ul>
            <li>item 1-0</li>
            <li>item 1-1</li>
            <li>item 1-2</li>
            <li>item 1-3</li>
        </ul>
        <ul>
            <li>item 2-0</li>
            <li>item 2-1</li>
            <li>item 2-2</li>
            <li>item 2-3</li>
        </ul>
        <ul>
            <li>item 3-0</li>
        </ul>
    </body>
    </html>
    例子:
    表单对象属性过滤器语法
    选择器 功能描述 返回值
    :enabled 获取表单中所有属性为可用的元素 元素集合
    :disabled 获取表单中所有属性为不可用的元素 元素集合
    :checked 获取表单中所有被选中的元素 元素集合
    :selected 获取表单中所有被选中option的元素 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>表单对象属性过滤器选择器</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            div {
                display:none;
            }
            select {
                height:65px;
            }
            .clsIpt {
                width:100px;padding:3px;
            }
            .GetFocus {
                border:1px solid #ffd800;background-color:#ff0000;
            }
        </style>
        <script type="text/javascript">
            $(function () {
                $("#divA").show(3000);
                //增加表单中所有属性为可用的元素类别
                $("#form1 input:enabled").addClass("GetFocus");
                //增加表单中所有属性为不可用的元素类别
                $("#form1 input:disabled").addClass("GetFocus");
                $("#divB").show(2000);
                //增加表单中所有被选中的元素类别
                alert($("#form1 input:checked").val());
                //显示表单中所有被选中的option的元素内容
                $("#divC").show(2000);
                $("#Span2").html("被选中的是"+$("select option:selected").text());
            })
        </script>
    </head>
    <body>
        <form id="form1" style="400px">
            <div id="divA">
                <input type="text" value="可用文本框" class="clsIpt"/>
                <input type="text" disabled="disabled"
                       value="不可用文本框"  class="clsIpt"/>
            </div>
            <div id="divB">
                <input type="checkbox" checked="checked" value="1"/>选中
                <input type="checkbox" value="0"/>未选中
            </div>
            <div id="divC">
                <select multiple="multiple">
                    <option value="0">item 0</option>
                    <option selected="selected" value="1">item 1</option>
                    <option value="2">item 2</option>
                    <option value="3">item 3</option>
                </select>
                <span id="Span2"></span>
            </div>
        </form>
    </body>
    </html>
    例子:
    表单选择器语法
    选择器 功能描述 返回值
    :input 获取所有input、textare、select 元素集合
    :text 获取所有单行文本框 元素集合
    :password 获取所有密码框 元素集合
    :radio 获取所有单选按钮 元素集合
    :checked 获取所有复选框 元素集合
    :submit 获取所有提交按钮 元素集合
    :image 获取所有图像域 元素集合
    :rest 获取所有重置按钮 元素集合
    :button 获取所有按钮 元素集合
    :file 获取所有文件域 元素集合
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>表单选择器语法</title>
        <meta charset="utf-8" />
        <script src="../Scripts/jquery-3.1.1.min.js"></script>
        <style type="text/css">
            body {
                font-size:12px;text-align:center;
            }
            form {
                width:250px;
            }
            textarea, select, button, input, span {
                display:none;
            }
            .btn {
                border: 1px solid #ff0000;
                padding: 2px;
                margin:3px;
                width: 60px;
                background-color: #cccccc;
                background-image: -moz-linear-gradient(top, #cccccc, #eeeeee);
                background-image: -o-linear-gradient(top, #cccccc, #eeeeee);
                background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#eeeeee));
                background-image: -webkit-linear-gradient(top, #cccccc, #eeeeee);
                background-image: linear-gradient(to bottom, #cccccc, #eeeeee);
            }
            .txt {
                border:1px solid #ff6a00;padding:3px;margin:3px
            }
            .img {
                padding:3px;border:1px solid #b6ff00;width:241px;height:200px;
            }
            .div {
                border:1px solid #00ffff;background-color:#00ffff;
            }
        </style>
        <script type="text/javascript">
            $(function () {
                //显示input类型元素的总数量
                $("#form1 div").html("input类型元素总数量:" + $("#form1 :input").length);
                $("#form1").addClass("div");
                //显示所有单行文本框元素
                $("#form1 :text").show(3000);
                //显示所有密码框
                $("#form1 :password").show(1000);
                //显示所有的单选框按钮对象
                $("#form1 :radio").show();
                $("#Span1").show();
                //显示所有复选框对象
                $("#form1 :checkBox").show(1000);
                $("#Span2").show(1000);
                //显示所有提交按钮
                $("form :submit").show(1000);
                //显示所有图像区域
                $("form :image").show(1000);
                //显示所有重置按钮对象
                $("form :reset").show();
                //显示所有按钮对象
                $("form :button").show(1111);
                //显示所有文件域对象
                $("form :file").show();
            })
        </script>
    </head>
    <body>
        <form id="form1">
            <textarea class="txt">TextArea</textarea>
            <select><option value="0">Item 0</option></select>
            <input type="text" value="Text" class="txt"/>
            <input type="password" value="123456" class="txt"/>
            <input type="radio"/><span id="Span1">Radio</span>
            <input type="checkbox"/>
            <span id="Span2">CheckBox</span>
            <input type="submit" value="Submit" class="btn"/>
            <input type="image" title="Image" src="5670d8646a4b6.jpg" class="img"/>
            <input type="reset" value="Reset" class="btn"/>
            <input type="button" value="Button" class="txt"/>
            <input type="file" title="File" class="txt"/>
            <div id="divShow"></div>
        </form>
    </body>
    </html>
    练习:

    到此,对于jQuery的选择器就学习结束了。

  • 相关阅读:
    [安全相关]SQL注入
    [android] service基础
    [android] activity基础
    [javascript] 基础积累
    [CSS] 常用积累
    html & css
    时序图和活动图
    分析图书馆管理系统的5W1H
    风险分析
    PM案例分析(团队作业第三组)
  • 原文地址:https://www.cnblogs.com/Akeke/p/6472541.html
Copyright © 2020-2023  润新知