zoukankan      html  css  js  c++  java
  • jQuery入门(8):工具

    工具

    注:jQuery都可替换为$

    浏览器
    jQuery.browser()
    :浏览器内核标识。依据 navigator.userAgent 判断。

    可用值: safari opera msie mozilla

    在 Microsoft's Internet Explorer 浏览器中返回 true。

    代码:$.browser.msie

    仅在 Safari 中提示 "this is safari!" 。

    代码:

    if ($.browser.safari) {

       alert("this is safari!");

    }

    jQuery.browser.version():浏览器渲染引擎版本号

    典型结果:

    Internet Explorer: 6.0, 7.0

    Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3

    Opera: 9.20

    Safari/Webkit: 312.8, 418.9

    if ( $.browser.msie )

     alert( $.browser.version );

    jQuery.boxModel():当前页面中浏览器是否使用标准盒模型渲染页面

    在 Internet Explorer 怪癖模式(QuirksMode)中返回 False。

    代码:$.boxModel

    数组和对象操作
    jQuery.each(obj,callback)
    :通用例遍方法,可用于例遍对象和数组。

    代码:例遍数组,同时使用元素索引和内容。

    $.each( [0,1,2], function(i, n){

     alert( "Item #" + i + ": " + n );

    });

    代码:例遍对象,同时使用成员名称和变量内容。

    $.each( { name: "John", lang: "JS" }, function(i, n){

     alert( "Name: " + i + ", Value: " + n );

    });

    jQuery.extend(target,obj1,objN)用一个或多个其他对象来扩展一个对象返回被扩展的对象

    代码:合并 settings options修改并返回 settings

    var settings = { validate: false, limit: 5, name: "foo" };

    var options = { validate: true, name: "bar" };

    jQuery.extend(settings, options);

    结果:settings == { validate: true, limit: 5, name: "bar" }

    代码:合并 defaults options, 不修改 defaults

    var empty = {}

    var defaults = { validate: false, limit: 5, name: "foo" };

    var options = { validate: true, name: "bar" };

    var settings = jQuery.extend(empty, defaults, options);

    结果:

    settings == { validate: true, limit: 5, name: "bar" }

    empty == { validate: true, limit: 5, name: "bar" }

    jQuery.grep(array,callback,invert)使用过滤函数过滤数组元素

    代码:过滤数组中小于 0 的元素。

    $.grep( [0,1,2], function(n,i){

     return n > 0;

    });

    结果:[1, 2]

     

    代码:排除数组中大于 0 的元素,使用第三个参数进行排除。

    $.grep( [0,1,2], function(n,i){

     return n > 0;

    }, true);

    结果:[0]

    jQuery.makeArray(obj):将类数组对象转换为数组对象

    <div>First</div><div>Second</div><div>Third</div><div>Fourth</div>

    代码:过滤数组中小于 0 的元素。

    var arr = jQuery.makeArray(document.getElementsByTagName("div"));

    arr.reverse(); // 使用数组翻转函数

    结果:

    Fourth

    Third

    Second

    First

    jQuery.map(array,callback)将一个数组中的元素转换到另一个数组中

    代码:将原数组中每个元素加 4 转换为一个新数组。

    $.map( [0,1,2], function(n){

     return n + 4;

    });

    结果:[4, 5, 6]

    代码:原数组中大于 0 的元素加 1 ,否则删除。

    $.map( [0,1,2], function(n){

     return n > 0 ? n + 1 : null;

    });

    结果:[2, 3]

    代码:原数组中每个元素扩展为一个包含其本身和其值加 1 的数组,并转换为一个新数组。

    $.map( [0,1,2], function(n){

     return [ n, n + 1 ];

    });

    结果:[0, 1, 1, 2, 2, 3]

    jQuery.unique(array)删除数组中重复元素

    代码:删除重复 div 标签。

    $.unique(document.getElementsByTagName("div"));

    结果:<div>, <div>, ...

     

    测试操作
    jQuery.isFunction(obj)
    :测试对象是否为函数

    代码:检测是否为函数

        function stub() {}

         var objs = [

                function () {},

                { x:15, y:20 },

                null,

                stub,

                "function"

              ];

            jQuery.each(objs, function (i) {

            var isFunc = jQuery.isFunction(objs[i]);

            $("span:eq( " + i + ")").text(isFunc);

          }); 

    结果: true,false,false,true,false 

    字符串操作
    jQuery.trim(str)
    去掉字符串起始和结尾的空格

    $.trim(" hello, how are you? "); 结果:"hello, how are you?"

  • 相关阅读:
    IntelliJ IDEA 使用svn教程
    尾递归
    斐波拉契数列加强版——时间复杂度O(1),空间复杂度O(1)
    斐波拉契数列的计算方法
    C#实现多线程的方式:Task——任务
    LINQ查询表达式详解(2)——查询表达式的转换
    LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询
    完成异步委托的三种方式
    C#实现多线程的方式:使用Parallel类
    C#实现多线程的方法:线程(Thread类)和线程池(ThreadPool)
  • 原文地址:https://www.cnblogs.com/astar/p/1336421.html
Copyright © 2011-2022 走看看