亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

使用jQuery管理選擇結果

2019-11-20 13:21:36
字體:
來源:轉載
供稿:網友

使用jQuery選擇出來的元素與數組非常類似,可以通過jQuery提供的一系列方法對其進行處理,包括長度、查找某個元素,截取某個段落等。

1.獲取元素的個數。

在jQuery中可以通過size()方法獲取選擇器中元素的個數,它類似數組中的length屬性,返回整數值,例如:

$("img").size()
獲取頁面中,所有圖片<img>的數目

如下是一個實例,通過不斷的點擊添加div塊并計算頁面中的<div>塊。

復制代碼 代碼如下:

<style>
            div {
                border: 1px solid #003a75;
                background-color: #FFFF00;
                margin: 5px;
                padding: 20px;
                text-align: center;
                height: 20px;
                width: 20px;
                float: left;
            }
        }
        </style>
        <script type="text/javascript">
            document.onclick = function() {
                var i = $("div").size() + 1; //獲取div的數目,(此時還沒有div塊)
                $(document.body).append($("<div>" + i + "</div>")); //添加一個div塊
                $("#number").html(i);
            }
        </script>

頁面中一共有<span id="number">0</span>個DIV塊。單擊鼠標添加

2.提取元素

在jQuery中選擇器中,如果想提取某個元素,最直接的方法是采用方括號加序號的形式,例如;

$("img[title]")[1]
獲取了所有設置了title屬性的img標記中的第二個元素。jQuery也提供了get(index)方法來提取元素,以下的代碼與上面的完全等效

$("img[title]")get(1)
get方法在不設置任何參數時,可以將元素轉化為一個元素對象的數組,如下的例子:

復制代碼 代碼如下:

<style>
            div {
                border: 1px solid #003a75;
                background-color: #FFFF00;
                margin: 5px;
                padding: 20px;
                text-align: center;
                height: 20px;
                width: 20px;
                float: left;
            }
        }
        </style>
        <script type="text/javascript">
            function displayleb(ndiv) {
                for (var i = 0; i < ndiv.length; i++)
                    $(document.body).append($("<div style='background:"+ndiv[i].style.background + ";'>" + ndiv[i].innerHTML + "</div>"));
            }
            $(function(){
                var aDiv = $("div").get();//轉化為div對象數組
                displayleb(aDiv.reverse());
            });
        </script>
        <div style="background:#FFFFFF">1</div>
        <div style="background:#CCCCCC">2</div>
        <div style="background:#999999">3</div>
        <div style="background:#666666">4</div>
        <div style="background:#333333">5</div>
        <div style="background:#000000">6</div>

上面代碼將頁面本身的6個<div>塊用get()方法轉化為數組,然后用數組反序reverse(),并傳給displayleb()函數,再將其一個個現在頁面中。

get(index)方法可以獲取指定位置的元素,反過來,index(element)方法可以查找元素的element所處的位置。例如

var iNum=$("li").index($(li[title=isaac]")[0])
以上取<li titile="isaac">標記在整個<li>標記列表所處的位置,并將該位置返回給整數iNum.如下舉例index(element)方法的典型運用。

例:用index()方法獲取元素的序號

復制代碼 代碼如下:

    <style>
            div {
                border: 1px solid #003a75;
                background-color: #FFFF00;
                margin: 5px;
                padding: 20px;
                text-align: center;
                height: 20px;
                width: 20px;
                float: left;
            }
        }
        </style>
        <script type="text/javascript">
            $(function() {
                //div click()添加單擊函數
                $("div").click(function() {
                    //將本身通過this關鍵字傳入,獲取自身的序號。
                    var index = $("div").index(this) + 1;
                    $("#display").html(index.toString());
                })
            });
        </script>
        <div style="background:#FFFFFF">1</div>
        <div style="background:#CCCCCC">2</div>
        <div style="background:#999999">3</div>
        <div style="background:#666666">4</div>
        <div style="background:#333333">5</div>
        <div style="background:#000000">6</div>
        單擊的是第<span id="display"></span>個div。

以上代碼塊本身用this關鍵字傳入index()方法中,獲取自身的序號,并且利用click()添加事件,將序號顯示出來。

3.添加、刪除、過濾元素

除了獲取選擇元素外,jQuery還提供了一系列的方法來修改元素集合,例如用add()的方法添加元素。

$("img[alt]").add("img[title]")
以上代碼將設置了alt元素的圖像和說呀設置了title屬性的圖像組合在一起,供別的方法統一調運。它完全等同于

$("img[alt],img[title]")
例如,可以講組合后的元素集統一添加css屬性。

$("img[alt]").add("img[title]").addClass("altcss")
與add()方法相反,not()方法可以去除元素集合中的某些元素形成集合

$("li[title]").not("[title*=isaac]")
以上代碼表示,選中所有設置了title屬性的標記 ,但不包括title的值中包含"isaac"的<li>。

例:

復制代碼 代碼如下:

<style>
            div {
                border: 1px solid #003a75;
                background-color: #FFFF00;
                margin: 5px;
                padding: 20px;
                text-align: center;
                height: 20px;
                width: 20px;
                float: left;
            }
            .altcss {
                border: 2px solid #000000;
            }
        }
        </style>
        <script type="text/javascript">
            $(function() {
                $("div").not(".green, #blueone").addClass("altcss");
            });
        </script>
        <div></div>
        <div id="blueone"></div>
        <div></div>
        <div class="green"></div>
        <div class="green"></div>
        <div class="gray"></div>
        <div></div>

以上的Jquery通過not()的方法去掉風格為"green"和"blueone"的<div>塊,給剩下的div塊加altcss樣式。

not()方法所接收的參數都不能包含特定的元素,只能是通過通用的表達式例如下面的代碼是錯誤的

$("li[title]").not("img[title*=isaac]")
正確的寫法是:

$("li[tile]").not("[title*=isaac]")
除了add()和not()外,jQuery還提供了更強大的filter()方法來篩選元素。filter()可以接受兩種類型的參數,一種與not()方法一樣,接受通用的表達式。代碼如下:

$("li").filter("[title*=isaac]")
以上的代碼表示:篩選出title值包含isaac字符串的li元素組合。

$("li[title*=isaac]")
所篩選的組合相同。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("div").addClass("css1").filter("[class*=middle]").addClass("css2");
            });
        </script>

        <div></div>
        <div class="middle"></div>
        <div class="middle"></div>
        <div class="middle"></div>
        <div class="middle"></div>
        <div></div>

以上代碼中其中4個class屬性為middle,Jq先給所有的div塊都添加了css1樣式,然后通過filter()方法,把class中包含middle的div添加css2樣式。

在filter()的參數中,不能直接的等于匹配(=),只能使用前匹配(^=)、后匹配(&=),或者任意匹配(*=).

filter()另外一種類型的參數是函數,對于返回ture元素匹配保留,否則排除集合。函數參數功能十分強大,可以讓用戶自定義篩選函數。

例如:

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("div").addClass("css1").filter(function(index) {
                    return index == 1 || $(this).attr("id") == "fourth";
                }).addClass("css2");
            });
        </script>     
<div id="first"></div>
    <div id="second"></div>
    <div id="third"></div>
    <div id="fourth"></div>
    <div id="fifth"></div>

以上jq執行:

將所有的div添加css1然后利用filter()返回的函數將div列表中第一個(index為1),id是fourth的div元素篩選出來,添加css2.

4.查詢過濾新元素組

jq還提供了 一些很有的用的方法組合,通過查詢來獲取新元素組合。例如find()方法。通過匹配選擇器來篩選元素

$("p").find("span")
表示查找到<p>標記下含有<span>標記的組合

完全等于

復制代碼 代碼如下:

$("span",$("p"))
$(function(){
    $("p").find("span").addClass("css1");
});

<p><span>Hello</span>, how are you?</p>

表示給Hello添加css1的樣式.

另外,還可以通過is()方法來檢測是否包含指定的元素,例如可以通過下面代碼檢測頁面中<div>塊中是否包含圖片。

var himg = $("div").is("img");
試想下,is()還可以結合filter()使用,是不是很愜意?

以上就是本文的全部內容了,雖然有點長,但是還是建議小伙伴們仔細讀一下,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线第一页| 久久久久久久国产精品| 亚洲丁香久久久| 欧美激情2020午夜免费观看| 日韩视频免费在线| 91tv亚洲精品香蕉国产一区7ujn| 狠狠色狠狠色综合日日五| 555www成人网| 欧美夫妻性生活xx| 成人国产在线视频| 国产精品∨欧美精品v日韩精品| 色综合视频一区中文字幕| 91精品国产自产91精品| 欧美在线激情视频| 日韩精品在线免费观看视频| 欧美日本亚洲视频| 亚州成人av在线| 久久久久久久999| 91精品免费久久久久久久久| 日韩电影免费在线观看中文字幕| 精品国产91久久久久久老师| 国产免费一区二区三区在线观看| 夜夜嗨av一区二区三区免费区| 国产精品夫妻激情| 国产午夜精品理论片a级探花| 亚洲欧美另类自拍| 日韩av电影免费观看高清| 成人福利网站在线观看11| 国产一区二区三区日韩欧美| 国产一区二区三区四区福利| 在线电影av不卡网址| 久久久久久中文字幕| 久久99国产精品自在自在app| 日韩欧美a级成人黄色| 日韩亚洲精品电影| 欧美日韩国产综合新一区| 久久精品久久精品亚洲人| 欧美日韩不卡合集视频| 国产精品爽黄69| 国产免费一区二区三区在线能观看| 日本精品视频在线播放| 尤物99国产成人精品视频| 精品在线欧美视频| 欧美日韩国产91| 欧美激情在线播放| 日韩视频亚洲视频| www.亚洲一二| 国产精品99久久久久久白浆小说| 2019国产精品自在线拍国产不卡| 中文字幕一区二区精品| 国产福利视频一区二区| 日韩天堂在线视频| 成人免费观看49www在线观看| 精品成人国产在线观看男人呻吟| 亚洲激情成人网| 欧美在线激情视频| 国内精品久久久久久| 国产亚洲一级高清| 国产亚洲欧美另类中文| 91久久久久久久久久久| 日韩在线不卡视频| 欧美综合一区第一页| 97在线视频免费观看| 国产精品盗摄久久久| 国产日韩欧美日韩大片| 国产色视频一区| 久久久久久久久久久久久久久久久久av| 日韩欧美a级成人黄色| 国产日韩在线观看av| 亚洲性av网站| 91精品视频在线播放| 91色精品视频在线| 久久成人在线视频| 成人在线小视频| 欧美性猛交xxxx乱大交3| 国产69精品久久久久99| 亚洲国产小视频| 午夜精品一区二区三区视频免费看| 一本色道久久综合狠狠躁篇怎么玩| 国产精品专区一| 久久精品国产清自在天天线| 欧美在线中文字幕| 日韩免费视频在线观看| 日韩在线观看精品| 亚洲成人av片在线观看| 97久久久免费福利网址| 久久精品国产欧美亚洲人人爽| 成人精品久久久| 8090理伦午夜在线电影| 亚洲va欧美va国产综合剧情| 国产精品久久久久久影视| 亚洲国产成人在线播放| 欧美性生交大片免费| 久久精品视频网站| 欧美日韩亚洲91| 国产亚洲精品91在线| 最近2019年好看中文字幕视频| 久久久久久久久久国产精品| 97国产真实伦对白精彩视频8| 日韩欧美精品网站| yw.139尤物在线精品视频| 久久露脸国产精品| 亚洲第一av在线| 国产在线精品自拍| 日本亚洲欧洲色| 亚洲香蕉av在线一区二区三区| 欧美性感美女h网站在线观看免费| 欧洲s码亚洲m码精品一区| 欧美一级电影免费在线观看| 精品中文字幕久久久久久| 成人免费福利在线| 97国产精品久久| 国产69精品久久久久9999| 波霸ol色综合久久| 亚洲区一区二区| 亚洲国产日韩欧美在线图片| 国产亚洲美女精品久久久| 91高清视频在线免费观看| 国产精品678| www日韩中文字幕在线看| 亚洲人成电影在线观看天堂色| 亚洲精品xxxx| 日韩在线视频观看| 久久亚洲影音av资源网| 91精品91久久久久久| 成人av番号网| 久久久久久国产免费| 亚洲性猛交xxxxwww| 亚洲精选中文字幕| 国产精品青草久久久久福利99| 亚洲自拍av在线| 亚洲加勒比久久88色综合| 色偷偷噜噜噜亚洲男人| 欧美精品videofree1080p| 91在线高清免费观看| 国产91成人video| 亚洲精品456在线播放狼人| 成人午夜两性视频| 亚洲电影成人av99爱色| 精品久久久久久久久久久久久久| 午夜免费久久久久| 亚洲精品国产美女| 78m国产成人精品视频| 国产精品成人久久久久| 日韩视频欧美视频| 国产久一一精品| 国产伦精品免费视频| 91在线免费视频| 永久免费精品影视网站| 成人免费网站在线| 一区二区三区视频免费| 国产97在线|日韩| 久久久国产精品x99av| 成人av电影天堂| 伊人久久久久久久久久久久久| 日韩高清有码在线| 91国语精品自产拍在线观看性色| **欧美日韩vr在线| 亚洲欧美自拍一区| 日韩网站免费观看高清| 宅男66日本亚洲欧美视频| 欧美午夜性色大片在线观看| 欧美视频免费在线观看| 国产精品爽爽ⅴa在线观看|