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>

$.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则保留,否则去除。可选的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>

使用$.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>

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>

jQuery功能函数详解的更多相关文章

  1. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  2. jQuery.ready() 函数详解

    jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...

  3. jquery inArray()函数详解

    jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...

  4. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  5. jQuery.hasClass() 函数详解

    jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...

  6. C++ list容器系列功能函数详解

    C++ list函数详解 首先说下eclipse工具下怎样debug:方法:你先要设置好断点,然后以Debug方式启动你的应用程序,不要用run的方式,当程序运行到你的断点位置时就会停住,也会提示你进 ...

  7. jQuery.ajax() 函数详解

    jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...

  8. jQuery.makeArray() 函数详解

    jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性, ...

  9. jQuery.isEmptyObject() 函数详解

    所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. 该函数属于全局jQuery对象. 语法 jQuery 1.4 新增该 ...

随机推荐

  1. 转:configure/make/make install的作用 linux 安装 卸载 make uninstall

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure 是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GC ...

  2. Overlapped I/O模型深入分析(转)

    随笔 - 262  文章 - 0  评论 - 531  博客园  首页  新随笔  联系  管理  订阅  Overlapped I/O模型深入分析(转) 简述:    Overlapped I/O也 ...

  3. ubuntu截图工具

    ubuntu截图工具   首先,我们用apt-get  install 去安装一个,scrot 主要用在命令行下,它使用 imlib2 库来抓取并保存图像                 sudo a ...

  4. ubuntu下apache和mysql的命令

    // Apache //Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start //or $ sudo /etc/ini ...

  5. windows下LIB和DLL的区别与使用

    共有两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library. 一种是LIB包含 ...

  6. maven 私服中央库使用阿里云库

    1.admin登录 进入remote repositories management 2.  设置地址

  7. blender, 旋转和平移视图

    旋转视图:MMB(鼠标中键) 平移视图:shift+MMB

  8. 【Android】16.1 Android Service基本概念

    分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 为了解决在后台运行任务的问题,Android引入了一个称为Service的应用程序组件.Service的职责是专门 ...

  9. shell获取用户输入

    主题: 再学shell之获取用户输入echo -n(不换行)和read命令-p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 和“读文件”深入学习 1.基本读取read命令接收标准输 ...

  10. iPhone应用程序的启动过程

    Phone的入口函数main,这之后它有是怎样启动应用程序,初始化的呢,这些都是通过 UIApplicationMain 来实现的. 其启动的流程图大致如下图所示: 1 int retVal = UI ...