从零开始学习jQuery (九) jQuery工具函数(4)

为定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。

  合并 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" }
 

 

将类数组对象转换为数组对象。

类数组对象有 length 属性,其成员索引为 0 至 length - 1。实际中此函数在 jQuery 中将自动使用而无需特意转换。

  将DOM对象集合转换为数组:
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
 
  确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。   查看对应元素的位置:
var arr = [ 4, "Pete", 8, "John" ]; jQuery.inArray("John", arr); //3 jQuery.inArray(4, arr); //0 jQuery.inArray("David", arr); //-1
 
 

合并两个数组

返回的结果会修改第一个数组的内容——第一个数组的元素后面跟着第二个数组的元素。要去除重复项,请使用$.unique()

  合并两个数组到第一个数组上:
$.merge( [0,1,2], [2,3,4] )

结果:
[0,1,2,2,3,4]
 
  删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或者数字数组。   删除重复 div 标签:
$.unique(document.getElementsByTagName("div"));

[<div>, <div>, ...]
 


讲解:

上面的函数看着有些混乱.  看看我们以后会常用的.

首先是, 将两个数组合并. 下面这个示例说明如何使用此函数:

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery Utilities - jQuery.merge</title> <script src="../scripts/jquery-1.3.2-vsdoc2.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $("#go").click(function(event) { $("#divResult").html(""); var first = [1, 3, 5]; $("#divResult").append("<span>first:[" + first.join(",") + "]</span>").append("<br/>"); var second = [2, 4, 6]; $("#divResult").append("<span>second:[" + second.join(",") + "]</span>").append("<br/>"); var result = $.merge(first, second); $("#divResult").append("<span>result:[" + result.join(",") + "]</span>").append("<br/>"); $("#divResult").append("<span>first after merged:[" + first.join(",") + "]</span><br/>"); $("#divResult").append("<span>second after merged:[" + second.join(",") + "]</span><br/>"); }); }); </script> </head> <body> <button id="go"> 合并数组</button> <br /> <div id="divResult"> </div> </body> </html>

结果如图:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdfjzj.html