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

首頁 > 編程 > JavaScript > 正文

jQuery功能函數詳解

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

在javascript編程中,開發者通常需要編寫很多小程序來實現一些特定的功能。例如瀏覽器檢測,字符串處理、數組的編輯等。jQuery對這些常用的程序進行了總結,提供了很多實用的函數。

1.檢測瀏覽器。

jQuery通過$.browser對象獲取瀏覽器信息。

屬性 說明
msie 如果是ie為true,否則為false
mozilla 如果是mozilla相關的瀏覽器為true,否則為false
safari 如果是Safari瀏覽器為true,否則為false
poera 如果是opera瀏覽器為true,否則為false
version 瀏覽器的版本號
在使用時,開發者可以直接調用這些屬性來獲取瀏覽器屬性。如下:

復制代碼 代碼如下:

        <script type="text/javascript">
            $(function() {
                function detect() {
                    if ($.browser.msie)
                        return "IE";
                    if ($.browser.mozilla)
                        return "Mozilla";
                    if ($.browser.safari)
                        return "Safari";
                    if ($.browser.opera)
                        return "Opera";
                }
                var sBrowser = detect();
                document.write("您的瀏覽器是:" + sBrowser + "<br>版本為:" + $.browser.version)

            });
        </script>

2.盒子模型

在jQuery中提供了$.boxModel對象來檢測目前所遵循的盒子模型。它是一個布爾值,當為true時,表示遵循w3c標準盒子模型,如果false則為ie的盒子模型

    var sBox = $.boxModel ? "標準W3C" : "IE";
                document.write("您的頁面目前支持:" + sBox + "盒子模型");
3.處理javascript對象。

在javascript編程中,可以說一切變量都是對象,例如字符串,日期和數值等。

jQuery提供了一些編輯的方法來處理相關的對象,例如$.trim()函數(首尾去空格) 函數就是其中之一

i.使用$each()方法遍歷

前文介紹到each()方法,用于選擇器的中的元素遍歷,同樣對于javascript的數組和對象,可以使用$.each()方法進行遍歷。

$.each(object,fn);
其中,object為需要遍歷的對象,fn為object中每個元素都執行的函數,其中函數fn可以接受兩個參數,第一個參數為數組元素的序號或者是對象的屬性。第二個參數為元素或者屬性的值。

例子:用$.each()函數遍歷數組和對象

復制代碼 代碼如下:

<script type="text/javascript">
            var aArray = ["one", "two", "three", "four", "five"];
            $.each(aArray, function(iNum, value) {
                //征對數組
                document.write("序號" + iNum + "值" + value + "<br>");
            });
            var oObj = {
                one: 1,
                two: 2,
                three: 3,
                four: 4,
                five: 5
            };
            $.each(oObj, function(pro, value) {
                //征對對象
                document.write("屬性" + pro + "值" + value + "<br>")
            });
        </script>

從上面的例子可以看到,$.each()對遍歷數組和對象都十分方便,例如對未知的屬性$.browser,使用$.each進行遍歷

$.each($.browser, function(iNum, value) {
                //征對數組
                document.write("屬性" + iNum + "值" + value + "<br>");
            });
得值:

屬性chrome值true
屬性version值39.0.2171.99
屬性webkit值true
ii.過濾數據

對于數組中的數據,很多時候開發者需要對其進行篩選,如果使用純javascript,往往需for循環進行逐一檢查。jQuery提供了$.grep()方法。能夠便捷的過濾數組的數據。

其語法如下:

$.grep(Array,fn,[invert])
其中,array是需要過濾的數組對象名稱,fn為過濾函數,對數組中的每個對象,如果返回true則保留,否則去除??蛇x的invert為布爾值,如果設置為true.則函數fn取反,滿足條件的被去除。

復制代碼 代碼如下:

var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
            var aResult = $.grep(aArray, function(value) {
                return value >= 4;
            });        
            document.write(aResult.join());

首先定義了數組aArray,然后用$.grep()方法將值大于等于4挑選出來得到新的數組

例子2,過濾數組的高級方法。

復制代碼 代碼如下:

    <script type="text/javascript">
            var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
            var aResult = $.grep(aArray, function(value, index) {
                //元素的值和value和序號同時判斷
                return (value >= 4 && index > 3);
            });

            document.write(aResult.join());
        </script>

iii轉化數組

很多時候開發者希望某個數組中的元素能夠統一的轉化,例如將所有的元素都乘以2.雖然在javascript中例如for循環可以實現,但是jQuery提供了更為便利的$.map()方法。這個方法如下

$.map(array,fn)
其中,array為要轉化的數組,fn為轉化函數,對數組中的每一項都執行,該函數同樣可以接受兩個函數,1個參數為元素的值。2個參數為元素的序號,是可選參數。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                var aArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i"];
                $("p:eq(0)").text(aArray.join());
                aArray = $.map(aArray, function(value, index) {
                    //將數組轉化為大寫并添加了序號
                    return (value.toUpperCase() + index);
                });
                $("p:eq(1)").text(aArray.join());

                cArray = $.map(aArray, function(value) {
                    return value + value;
                });
                $("p:eq(2)").text(cArray.join());
            });
        </script>
        <p></p>
        <p></p>
        <p></p>

執行結果

a,b,c,d,e,f,g,h,i

A0,B1,C2,D3,E4,F5,G6,H7,I8

A0A0,B1B1,C2C2,D3D3,E4E4,F5F5,G6G6,H7H7,I8I8
使用$.map()函數進行轉移后,數組長度不一定與原來的數組相同??梢酝ㄟ^設置null來刪除數組的元素。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                var aArray = [0, 1, 2, 3, 4, 5, 6, 7, 8];
                $("p:eq(0)").text(aArray.join());
                $("p:eq(1)").text("aArray長度:" + aArray.length + "值:" + aArray.join());
                cArray =$.map(aArray,function(value){
                    //比1大的+1后返回,否則通過設置為null將其刪除
                    return value>1?value+1:null;
                });
                $("p:eq(2)").text("cArray長度:" + cArray.length + "值:" + cArray.join());
            });
        </script>
        <p></p>
        <p></p>
        <p></p>

除了刪除元素外,$.map轉化數組時同樣可以增加數組元素。

復制代碼 代碼如下:

    <script type="text/javascript">
            $(function() {
                var aArray = ["one", "two", "three", "four", "five"];
                $("p:eq(0)").text(aArray.join());
                cArray =$.map(aArray,function(value){
                    return value.split("");
                });
                $("p:eq(1)").text("cArray長度:" + cArray.length + "值:" + cArray.join());
            });
        </script>
        <p></p>
        <p></p>

執行結果

one,two,three,four,five

cArray長度:19值:o,n,e,t,w,o,t,h,r,e,e,f,o,u,r,f,i,v,e
以上代碼在$.map轉化過程中,split("")方法將元素拆分為一個個字母

iiii搜索數組元素

對于字符串,可以通過indexOf()來搜索特定字符所處的位置,對于數組元素,javascript沒有提供類似的方法。在jQ中,$.inArray()函數可以很好的數組元素的搜索功能。語法如下:

$.inArray(value,array)
其中,value為希望查找的對象,array為數組本身,如果找到了則返回第一個匹配元素在數組的位置。如果沒有則返回-1.

復制代碼 代碼如下:

    <script type="text/javascript">
            $(function() {
                var aArray = ["one", "two", "three", "four", "five"];
                var cx1 = $.inArray("two", aArray);
                var cx2 = $.inArray("www", aArray);
                $("p:eq(0)").text(cx1);
                $("p:eq(1)").text(cx2);
            });
        </script>
        <p></p>
        <p></p>

4.獲取外部代碼

在一些較大工程中,開發者將不同的js放在不同的js文件中,有時根據補貼的需求加載不同的代碼。jQuery提供了$.getScript()實現外邊的代碼加載。使用方法如:

$.getScript(url,[callback])
其中,url為外部資源的地址,可以是相對的,也可以是絕對的地址。callback為加載成功后的回調函數,可選。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("p:eq(0)").click(function() {
                    $.getScript("1.js");
                });
                $("p:eq(1)").click(function() {
                    textfun();
                });
            });
        </script>
        <p>點擊1</p>
        <p>點擊2</p>

其中1.js代碼為

復制代碼 代碼如下:

alert("加載ok!")
function textfun(){
    alert("testfun")
};

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品在线视频| 国产女人18毛片水18精品| 国产激情久久久| 91国偷自产一区二区三区的观看方式| 久久久午夜视频| 日本韩国在线不卡| 国产精品久久久久久五月尺| 欧美激情18p| 亚洲电影免费观看高清完整版| 色噜噜久久综合伊人一本| 欧美性猛交xxxx免费看| 国产精品丝袜白浆摸在线| 国产在线拍偷自揄拍精品| 欧美综合在线观看| 亚洲人午夜色婷婷| 日韩欧美在线视频免费观看| 午夜精品久久久久久99热软件| 亚洲国产精品久久久| 国产福利视频一区二区| 亚洲精品91美女久久久久久久| 51ⅴ精品国产91久久久久久| 亚洲亚裔videos黑人hd| 国产区精品视频| 日韩视频免费观看| 国产视频亚洲精品| 黄色一区二区三区| 欧美不卡视频一区发布| 精品视频一区在线视频| 精品视频久久久久久| 欧美性黄网官网| 亚洲视频在线视频| 浅井舞香一区二区| 国产精品对白刺激| 欧美成人精品激情在线观看| 4438全国亚洲精品在线观看视频| 这里只有精品视频| 精品成人av一区| 久久久国产一区二区| 91精品国产高清自在线| 亚洲电影成人av99爱色| 亚洲影院色无极综合| 96精品久久久久中文字幕| 欧美高清无遮挡| 亚洲欧美精品一区| 中文字幕亚洲欧美在线| 国产成人精品av| 久久久精品美女| 国产精品亚洲自拍| 成人欧美一区二区三区在线| 裸体女人亚洲精品一区| 黑人狂躁日本妞一区二区三区| 最近2019年手机中文字幕| 中文字幕亚洲情99在线| 国产免费一区二区三区在线能观看| 欧美精品在线播放| 国产精品久久久久久一区二区| 日韩中文av在线| 久久久精品国产| 欧美日韩国产在线播放| 欧美在线视频观看免费网站| 亚洲色图第一页| 日韩电影免费在线观看| 国产成人在线一区| 日韩视频欧美视频| 日韩激情视频在线播放| 伦理中文字幕亚洲| 国产精品视频久久久久| 欧美综合国产精品久久丁香| 欧美日韩精品在线观看| 欧美日韩免费在线| 亚洲国产精品成人va在线观看| 日韩视频在线免费| 欧美大尺度电影在线观看| 韩国v欧美v日本v亚洲| 亚洲欧美在线免费观看| 国产欧美精品日韩| 亚洲天堂网在线观看| 亚洲福利在线观看| 日韩一区二区在线视频| 国产精品美女在线观看| 国产va免费精品高清在线| 欧美性猛交xxxxx免费看| 亚洲精品少妇网址| 久久精品在线视频| 久久久久久久久久国产精品| 亚洲免费视频在线观看| 日韩高清av在线| 亚洲国产一区自拍| 理论片在线不卡免费观看| 久久久精品免费| 日韩av快播网址| 97免费在线视频| 中文字幕国产精品| 成人网在线观看| 成人高h视频在线| 日韩精品丝袜在线| 中文字幕在线国产精品| 亚洲国产欧美一区二区三区久久| 国产有码一区二区| 欧美电影免费观看网站| 911国产网站尤物在线观看| 亚洲综合在线中文字幕| 国产成人一区二区三区电影| 亚洲欧洲在线看| 国产精品久久久一区| 欧美午夜电影在线| 在线观看日韩欧美| 久久久久这里只有精品| 亚洲欧洲在线观看| 久久久久五月天| 色老头一区二区三区| 狠狠躁夜夜躁人人爽超碰91| 久久成人18免费网站| 91精品在线观看视频| 这里只有精品在线播放| 一区三区二区视频| 精品久久久久久国产91| 亚洲欧美日韩一区二区三区在线| 欧美—级a级欧美特级ar全黄| 国产精品网站视频| 欧美日韩国内自拍| 欧美在线影院在线视频| 国产成人涩涩涩视频在线观看| 国产成人综合久久| 中文字幕在线日韩| 色诱女教师一区二区三区| 国产精品国产福利国产秒拍| 国产精品一区二区av影院萌芽| 少妇高潮久久久久久潘金莲| 91色在线观看| 亚洲影院污污.| 亚洲欧美国产一区二区三区| 国产精品99一区| 亚洲欧美日韩久久久久久| 九九久久国产精品| 国产精品18久久久久久麻辣| 日韩在线观看免费| 色多多国产成人永久免费网站| 中文字幕免费精品一区| 欧美性猛交视频| 亚洲丁香婷深爱综合| 欧美国产日韩一区二区| 夜夜狂射影院欧美极品| 欧美大片大片在线播放| 欧美日韩国产黄| 欧美亚洲另类视频| 欧美性xxxx极品hd欧美风情| 国产美女91呻吟求| 久久九九免费视频| 中文字幕欧美日韩va免费视频| 国产69精品久久久久久| 亚洲开心激情网| 亚洲国产成人在线视频| 岛国av一区二区| 日韩在线观看免费全| 欧美一区第一页| 97国产精品久久| 2019亚洲男人天堂| 欧美肥婆姓交大片| 国产精品视频大全| 91精品免费视频| 日韩av免费在线播放| 亚洲欧美国产高清va在线播| 亚洲欧美在线一区二区|