亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JQuery其他常用函數(shù)

原創(chuàng) 2016-11-08 11:19:54 663
摘要:isArray(obj)                      檢測obj否為一個數(shù)組對象isFunction(obj)                 檢測obj否為一個函數(shù)isEmptyObject(o

isArray(obj)                      檢測obj否為一個數(shù)組對象

isFunction(obj)                 檢測obj否為一個函數(shù)

isEmptyObject(obj)          檢測obj否為一個空對象

isPlainObject(obj)            檢測obj否為一個純粹對象(是否是通過{ }或new Object()關(guān)鍵字創(chuàng)建的)

data()函數(shù)

$(selector).data(name,value)        向被選元素附加數(shù)據(jù)

$(selector).data(name)                  從被選元素中返回附加的數(shù)據(jù)

$(selector).data(object)                 使用帶有名稱/值對的對象向被選元素添加數(shù)據(jù)

向元素附加數(shù)據(jù),然后取回該數(shù)據(jù):

$("#btn1").click(function(){  
  $("div").data("greeting","Hello World");  
});  
$("#btn2").click(function(){  
  alert($("div").data("greeting"));  
});

從元素中刪除之前添加的數(shù)據(jù):

$("#btn2").click(function(){  
  $("div").removeData("greeting");  
  alert("Greeting is: " +$("div").data("greeting"));  
});

map()函數(shù)

map(array,function(elementOfArray,indexOfArray))

grep是過濾數(shù)組中的元素,map是按指定要求修改數(shù)組中的所選元素

將一組元素轉(zhuǎn)換成其他數(shù)組(不論是否是元素數(shù)組);

<p><b>Values:</b></p>  
<form>  
  <input type="text"name="name" value="John"/>  
  <input type="text"name="password" value="password"/>  
  <input type="text"name="url" value="http://ejohn.org/"/>  
</form>

exampl:

$("p").append($("input").map(function(){  
  return $(this).val();  
}).get().join(",") );  
result:  <p>John, password, http://ejohn.org/</p>  
    
$.map(attr,function(ele,index){  
      if(ele>5&&index<8){  
             return ele+1;  
      } //將數(shù)組中元素值大于5并且序號小于8的元素加1  
});

$.param()函數(shù)

$.param(object,[traditional])

object表示要被序列化的對象,該對象可以是數(shù)組、JQuery對象、普通對象

traditional表示是否通過普通的方式淺層序列化,返回序列化后的字符串

var myObject = {  
  a: {  
    one: 1,  
    two: 2,  
    three: 3  
  },  
  b: [1,2,3]  
};  
var recursiveEncoded = $.param(myObject);  
var recursiveDecoded= decodeURIComponent($.param(myObject));  
alert(recursiveEncoded);  
alert(recursiveDecoded);

recursiveEncoded和 recursiveDecoded 的值輸出如下:

a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3

a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3

如果被傳遞的對象在數(shù)組中,則必須是以.serializeArray() 的返回值為格式的對象數(shù)組

[  
  {name: 'firstname', value: 'Hello'},  
  {name: 'lastname', value: 'World'},  
  {name: 'alias'}, // 值為空  
]

$.proxy()函數(shù)

接受一個函數(shù),然后返回一個新函數(shù),并且這個新函數(shù)始終保持了特定的上下文(context )語境,這個方法通常在向一個元素上附加事件處理函數(shù)時,上下文語境實際是指向另一個對象的情況下使用。

另外,jQuery 能夠確保即使你綁定的函數(shù)是經(jīng)過 jQuery.proxy() 處理過的函數(shù),你依然可以用原先的函數(shù)來正確地取消綁定。

jQuery.proxy(function, context )

function將要改變上下文語境的函數(shù)。

context函數(shù)的上下文語境(`this`)會被設(shè)置成這個object 對象。


jQuery.proxy(context, name )

context函數(shù)的上下文語境會被設(shè)置成這個 object 對象。

name將要改變上下文語境的函數(shù)名(這個函數(shù)必須是前一個參數(shù) ‘context’ 對象的屬性)

var objMyInfo = {  
      name : "clf",  
      sex : "男",  
      ShowEvent : function(){  
             alert(this.name+"****"+this.sex);  
      }  
}  
    
$("#bnt").bind("click",$.proxy(objMyInfo.ShowEvent,objMyInfo));


如果不用proxy函數(shù),則出發(fā)click 事件時,調(diào)用objMyInfo.ShowEvent函數(shù),此函數(shù)內(nèi)的this關(guān)鍵字將指向非objMyInfo上下文,那么,this.name和this.sex都將是一個undifined的變量

$.trim(“  text  ”)

去除字符前后的空格

$.support

瀏覽器檢測函數(shù)

boxModel: 如果這個頁面和瀏覽器是以W3CCSS盒式模型來渲染的,則等于true。通常在IE 6和IE 7的怪癖模式中這個值是false。在document準(zhǔn)備就緒前,這個值是null。

cssFloat: 如果用cssFloat來訪問CSS的float的值,則返回true。目前在IE中會返回false,他用styleFloat代替。

hrefNormalized: 如果瀏覽器從getAttribute("href")返回的是原封不動的結(jié)果,則返回true。在IE中會返回false,因為他的URLs已經(jīng)常規(guī)化了。

htmlSerialize: 如果瀏覽器通過innerHTML插入鏈接元素的時候會序列化這些鏈接,則返回true,目前IE中返回false。

leadingWhitespace: 如果在使用innerHTML的時候瀏覽器會保持前導(dǎo)空白字符,則返回true,目前在IE 6-8中返回false。

noCloneEvent: 如果瀏覽器在克隆元素的時候不會連同事件處理函數(shù)一起復(fù)制,則返回true,目前在IE中返回false。

objectAll: 如果在某個元素對象上執(zhí)行g(shù)etElementsByTagName("*")會返回所有子孫元素,則為true,目前在IE 7中為false。

opacity: 如果瀏覽器能適當(dāng)解釋透明度樣式屬性,則返回true,目前在IE中返回false,因為他用alpha濾鏡代替。

scriptEval: 使用appendChild/createTextNode 方法插入腳本代碼時,瀏覽器是否執(zhí)行腳本,目前在IE中返回false,IE使用 .text 方法插入腳本代碼以執(zhí)行。

style: 如果getAttribute("style")返回元素的行內(nèi)樣式,則為true。目前IE中為false,因為他用cssText代替。

tbody: 如果瀏覽器允許table元素不包含tbody元素,則返回true。目前在IE中會返回false,他會自動插入缺失的tbody。


發(fā)佈手記

熱門詞條