1. 程式人生 > >子元素選擇器、屬性選擇器、表單選擇器

子元素選擇器、屬性選擇器、表單選擇器

子元素過濾選擇器

        <script type="text/javascript">
            $(document).ready(function(){

                $("#btn1").click(function(){
                    //選取子元素, 需要在選擇器前新增一個空格. 
                    //選取每個class為one的div父元素下的第2個子元素
                    $("div.one :nth-child(2)").css("background"
, "#ffbbaa"); }); //選取每個class為one的div父元素下的第一個子元素. $("#btn2").click(function(){ $("div.one :first-child").css("background", "#ffbbaa"); }); //選取每個class為one的div父元素下的最後一個子元 $("#btn3").click(function
(){
$("div.one :last-child").css("background", "#ffbbaa"); }); //如果class為one的div父元素下的僅僅只有一個子元素,那麼選中這個子元素 $("#btn4").click(function(){ $("div.one :only-child").css("background", "#ffbbaa"); }); });
</script>
<body>      
    <input type="button" value="選取每個class為one的div父元素下的第2個子元素." id="btn1"/>
    <input type="button" value="選取每個class為one的div父元素下的第一個子元素." id="btn2"/>
    <input type="button" value="選取每個class為one的div父元素下的最後一個子元素." id="btn3"/>
    <input type="button" value="如果class為one的div父元素下的僅僅只有一個子元素,那麼選中這個子元素." id="btn4"/>

    <br><br>
    <div class="one" id="one">
        id 為 one,class 為 one 的div
        <div class="mini">class為mini</div>
    </div>
    <div class="one" id="two" title="test">
        id為two,class為one,title為test的div
        <div class="mini" title="other">class為mini,title為other</div>
        <div class="mini" title="test">class為mini,title為test</div>
    </div>
    <div class="one">
        <div class="mini">class為mini</div>
        <div class="mini">class為mini</div>
        <div class="mini">class為mini</div>
        <div class="mini"></div>
    </div>
    <div class="one">
        <div class="mini">class為mini</div>
        <div class="mini">class為mini</div>
        <div class="mini">class為mini</div>
        <div class="mini" title="tesst">class為mini,title為tesst</div>
    </div>
    <div style="display:none;" class="none">style的display為"none"的div</div>
    <div class="hide">class為"hide"的div</div>
    <div>
        包含input的type為"hidden"的div<input type="hidden" value="123456789" size="8">
    </div>
    <div id="mover">正在執行動畫的div元素.</div>
</body>

屬性過濾選擇器

<script type="text/javascript">
            $(function(){
                //選取含有 屬性title 的div元素.
                $("#btn1").click(function(){
                    $("div[title]").css("background", "#ffbbaa");
                });
                //選取 屬性title值等於'test'的div元素
                $("#btn2").click(function(){
                    $("div[title='test']").css("background", "#ffbbaa");
                });
                $("#btn3").click(function(){
                    //選取的元素中包含沒有 title 的 div 元素. 
                    $("div[title!='test']").css("background", "#ffbbaa");
                });
                //選取 屬性title值 以'te'開始 的div元素
                $("#btn4").click(function(){
                    $("div[title^='te']").css("background", "#ffbbaa");
                });
                //選取 屬性title值 以'est'結束 的div元素
                $("#btn5").click(function(){
                    $("div[title$='est']").css("background", "#ffbbaa");
                });
                //選取 屬性title值 含有'es'的div元素
                $("#btn6").click(function(){
                    $("div[title*='es']").css("background", "#ffbbaa");
                });
                //組合屬性選擇器,首先選取有屬性id的div元素,
                //然後在結果中 選取屬性title值 含有'es'的 div 元素.
                $("#btn7").click(function(){
                    $("div[id][title*='es']").css("background", "#ffbbaa");
                });
                //選取 含有 title 屬性值, 且title 屬性值不等於 test 的 div 元素
                $("#btn8").click(function(){
                    $("div[title][title!='test']").css("background", "#ffbbaa");
                });

                $("#btn8").click(function(){
                    //val() 方法可以返回某一個表單元素的 value 屬性值. 
                    alert($("input:hidden").val());
                });

            })
        </script>
<body>      
        <input type="button" value="選取含有 屬性title 的div元素." id="btn1"/>
        <input type="button" value="選取 屬性title值等於'test'的div元素." id="btn2"/>
        <input type="button" value="選取 屬性title值不等於'test'的div元素(沒有屬性title的也將被選中)." id="btn3"/>
        <input type="button" value="選取 屬性title值 以'te'開始 的div元素." id="btn4"/>

        <input type="button" value="選取 屬性title值 以'est'結束 的div元素." id="btn5"/>
        <input type="button" value="選取 屬性title值 含有'es'的div元素." id="btn6"/>
        <input type="button" value="組合屬性選擇器,首先選取有屬性id的div元素,然後在結果中 選取屬性title值 含有'es'的 div 元素." id="btn7"/>
        <input type="button" value="選取 含有 title 屬性值, 且title 屬性值不等於 test 的 div 元素." id="btn8"/>

        <br><br>
        <div class="one" id="one">
            id 為 one,class 為 one 的div
            <div class="mini">class為mini</div>
        </div>
        <div class="one" id="two" title="test">
            id為two,class為one,title為test的div
            <div class="mini" title="other">class為mini,title為other</div>
            <div class="mini" title="test">class為mini,title為test</div>
        </div>
        <div class="one">
            <div class="mini">class為mini</div>
            <div class="mini">class為mini</div>
            <div class="mini">class為mini</div>
            <div class="mini"></div>
        </div>
        <div class="one">
            <div class="mini">class為mini</div>
            <div class="mini">class為mini</div>
            <div class="mini">class為mini</div>
            <div class="mini" title="tesst">class為mini,title為tesst</div>
        </div>
        <div style="display:none;" class="none">style的display為"none"div</div>
        <div class="hide">class"hide"div</div>
        <div>
            包含input的type為"hidden"div<input type="hidden" value="123456789" size="8">
        </div>
        <div id="mover">正在執行動畫的div元素.</div>
    </body>

表單過濾選擇器

<script type="text/javascript">
            $(function(){
                $("#btn1").click(function(){
                    //使所有的可用的單行文字框的 value 值變為 尚矽谷
                    alert($(":text:enabled").val());
                    $(":text:enabled").val("尚矽谷");
                });
                $("#btn2").click(function(){
                    $(":text:disabled").val("www.atguigu.com");
                });
                //獲取多選框選中的個數
                $("#btn3").click(function(){
                    var num = 
                        $(":checkbox[name='newsletter']:checked").length;
                    alert(num);
                });

                $("#btn4").click(function(){
                    $(":checkbox[name='newsletter']:checked").each(function(){
                        alert(this.value);
                    });
                });

                $("#btn5").click(function(){
                    //實際被選擇的不是 select, 而是 select 的 option 子節點
                    //所以要加一個 空格. 
                    var len = $("select :selected").length
                    alert(len);

                    //因為 $("select :selected") 選擇的是一個數組
                    //當該陣列中有多個元素時, 通過 .val() 方法就只能獲取第一個被選擇的值了. 
                    alert($("select :selected").val());

                    //jQuery 物件遍歷的方式使 each, 在 each 內部的 this 是正在
                    //得到的 DOM 物件, 而不是一個 jQuery 物件
                    $("select :selected").each(function(){
                        alert(this.value);
                    });
                });


            })
        </script>
<body>
        <h3>表單物件屬性過濾選擇器</h3>
         <button id="btn1">對錶單內 可用input 賦值操作.</button>
         <button id="btn2">對錶單內 不可用input 賦值操作.</button><br /><br />
         <button id="btn3">獲取多選框選中的個數.</button>
         <button id="btn4">獲取多選框選中的內容.</button><br /><br />
         <button id="btn5">獲取下拉框選中的內容.</button><br /><br />

        <form id="form1" action="#">            
            可用元素: <input name="add" value="可用文字框1"/><br>
            不可用元素: <input name="email" disabled="true" value="不可用文字框"/><br>
            可用元素: <input name="che" value="可用文字框2"/><br>
            不可用元素: <input name="name" disabled="true" value="不可用文字框"/><br>
            <br>

            多選框: <br>
            <input type="checkbox" name="newsletter" checked="checked" value="test1" />test1
            <input type="checkbox" name="newsletter" value="test2" />test2
            <input type="checkbox" name="newsletter" value="test3" />test3
            <input type="checkbox" name="newsletter" checked="checked" value="test4" />test4
            <input type="checkbox" name="newsletter" value="test5" />test5

            <br><br>
            下拉列表1: <br>
            <select name="test" multiple="multiple" style="height: 100px">
                <option>浙江</option>
                <option selected="selected">遼寧</option>
                <option>北京</option>
                <option selected="selected">天津</option>
                <option>廣州</option>
                <option>湖北</option>
            </select>

            <br><br>
            下拉列表2: <br>
            <select name="test2">
                <option>浙江</option>
                <option>遼寧</option>
                <option selected="selected">北京</option>
                <option>天津</option>
                <option>廣州</option>
                <option>湖北</option>
            </select>

            <textarea rows="" cols=""></textarea>
        </form>     
    </body>