最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery $.data()方法使用注意細(xì)節(jié)

 更新時間:2012年12月31日 11:47:33   投稿:whsnow  
前段時間同事在群里對jQuery里的.data()方法接下來介紹jQuery $.data()方法使用注意細(xì)節(jié),需要了解的朋友可以參考下

前段時間同事在群里對jQuery里的.data()
XXX(NNNNNNN) 15:11:34
<a id="a" data-xxx="00123" />
alert($('#a').data('xxx'));//123
data方法不靠譜
XXX(NNNNNNN) 15:13:17
老老實實用attr('data-xxx')吧細(xì)研究了下jQuery文檔對.data()方法的描述:

復(fù)制代碼 代碼如下:

As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object.
The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5
specification.

針對如下示便
復(fù)制代碼 代碼如下:

<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>
$("div").data("role") === "page";
$("div").data("lastValue") === 43;
$("div").data("hidden") === true;
$("div").data("options").name === "John";

即當(dāng)使用.data()獲取值時,jQuery會首先嘗試將獲取的字符串值轉(zhuǎn)化成JS類型,包括布爾值,null,數(shù)字,對象,數(shù)組:
若值是”true|false”,則返回相應(yīng)的布爾值;
若值是”null”,則返回null;
若值是純數(shù)字構(gòu)成的字符串(+data + ”” === data),則返回相應(yīng)的數(shù)字(+data);
若值是由(?:\{[\s\S]*\}|\[[\s\S]*\])$,比如”{key:value}“或[1,2,3],則嘗試使用jQuery.parseJSON解析之;
否則返回字符串值
當(dāng)然文檔里也特意說明了——如果就是想獲取字符串值而不想獲得自動轉(zhuǎn)換的值,可以使用.attr(“data-”+key)來獲取相應(yīng)的值:
復(fù)制代碼 代碼如下:

To retrieve the value's attribute as a string without any attempt to convert it, use the attr() method.

如下為jQuery源碼
復(fù)制代碼 代碼如下:

function dataAttr( elem, key, data ) {
// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if ( data === undefined && elem.nodeType === 1 ) {
// rmultiDash = /([A-Z])/g
var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
if ( typeof data === "string" ) {
try {
/*.data(key)方法嘗試將獲取的值轉(zhuǎn)化成JS類型,包括布爾值,null,數(shù)字,對象,數(shù)組*/
data = data === "true" ? true :
data === "false" ? false :
data === "null" ? null :
// Only convert to a number if it doesn't change the string
+data + "" === data ? +data :
/*rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,*/
rbrace.test( data ) ? jQuery.parseJSON( data ) :
data;
} catch( e ) {}
// Make sure we set the data so it isn't changed later
jQuery.data( elem, key, data );
} else {
data = undefined;
}
}
return data;
}

相關(guān)文章

  • JavaScript中toLocaleString()和toString()的區(qū)別實例分析

    JavaScript中toLocaleString()和toString()的區(qū)別實例分析

    這篇文章主要介紹了JavaScript中toLocaleString()和toString()的區(qū)別,結(jié)合實例形式對比分析了toLocaleString()和toString()針對字符串、數(shù)組與日期操作過程中的區(qū)別與使用技巧,需要的朋友可以參考下
    2018-08-08
  • 詳解ES6數(shù)組方法find()、findIndex()的總結(jié)

    詳解ES6數(shù)組方法find()、findIndex()的總結(jié)

    這篇文章主要介紹了詳解ES6數(shù)組方法find()、findIndex()的總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • JavaScript動態(tài)綁定詳解

    JavaScript動態(tài)綁定詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript動態(tài)綁定,關(guān)于JavaScript中為元素綁定的事件失效的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • JS數(shù)據(jù)結(jié)構(gòu)與算法中的隊列結(jié)構(gòu)詳解

    JS數(shù)據(jù)結(jié)構(gòu)與算法中的隊列結(jié)構(gòu)詳解

    隊列指的是一種受限的線性表,先進(jìn)先出,今天通過本文帶領(lǐng)大家認(rèn)識隊列及隊列的應(yīng)用,對JS數(shù)據(jù)結(jié)構(gòu)與算法-隊列結(jié)構(gòu)相關(guān)知識感興趣的朋友一起看看吧
    2022-11-11
  • JS的時間格式化和時間戳轉(zhuǎn)換函數(shù)示例詳解

    JS的時間格式化和時間戳轉(zhuǎn)換函數(shù)示例詳解

    這篇文章主要介紹了JS的時間格式化和時間戳轉(zhuǎn)換函數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • JS設(shè)置cookie、讀取cookie

    JS設(shè)置cookie、讀取cookie

    js設(shè)置cookie有很多種方法,包括JS設(shè)置cookie、讀取cookie,工作中常會用到!下面是詳細(xì)代碼,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Meta 標(biāo)簽生成器

    Meta 標(biāo)簽生成器

    非常不錯的可以生產(chǎn)標(biāo)簽的小東西
    2008-04-04
  • JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()

    JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()

    這篇文章主要介紹了JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • JavaScript多級判定代碼優(yōu)化淺析

    JavaScript多級判定代碼優(yōu)化淺析

    這篇文章主要介紹了JavaScript多級判定代碼優(yōu)化,JavaScript用二元運算符和if拆分優(yōu)化多級判定結(jié)構(gòu),?用JavaScript邏輯運算符替換if-else結(jié)構(gòu)判定
    2023-02-02
  • javascript導(dǎo)出csv文件(excel)的方法示例

    javascript導(dǎo)出csv文件(excel)的方法示例

    這篇文章主要給大家介紹了關(guān)于javascript導(dǎo)出csv文件(excel)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

宜春市| 泽普县| 陕西省| 石泉县| 电白县| 怀仁县| 屏东县| 中江县| 靖安县| 尉犁县| 克东县| 特克斯县| 革吉县| 胶州市| 岐山县| 怀柔区| 正安县| 夏河县| 阿荣旗| 涞水县| 汾阳市| 马鞍山市| 阜阳市| 天峨县| 博爱县| 弋阳县| 五原县| 尚志市| 那坡县| 福鼎市| 普定县| 建湖县| 家居| 乌鲁木齐市| 阜新市| 陵川县| 兴海县| 六安市| 景泰县| 依兰县| 金寨县|