引导数据和jQuery数据

jQuery官方网站描述了数据函数:在匹配元素上存储任何相关数据,或返回存储在匹配元素集中第一个元素的给定元素中的数据的值。

存储键值(键值):




$()。数据()
$()。数据()
$(体)。数据({巴兹:{ 1, 2, 3 } });





Key value






$()。数据();52
$(体)(数据); / / { foo:52条:{ MyType:测试数:,40 },巴兹:{ 1, 2, 3 } }



所有这些都很容易理解和理解。当我今天看到引导程序的弹出式掩码时,我看到了一段代码,我感到困惑。


$(document),(一。模态。数据API,{数据切换=模态
警报($)(this)(this)
var $ = $(这个)
this.attr href = $('href)
(this.attr美元美元美元,目标=('data-target)| |(href href.replace( / *(= # { ^ } + $)/))) / /条IE7
选项target.data美元('modal)触发的:延伸({远程美元:!# / /。测试(链接)链接},target.data美元(美元),this.data())
E.preventDefault()
为目标
模态(选项)
。一('hide,函数(){(){
this.focus美元()
})
})




三目运算符target.data美元('modal)触发的:延伸({远程美元:!# / /。测试(链接)链接},target.data美元(美元),this.data())的代码。

它是第一个判断窗口是否是第一个呈现的,第一次渲染窗口是执行的。


选择=美元。延长({远程:} href!# / /。测试(链接),target.data美元(美元),this.data({远程:)) / /结果选项= false,切换:模态}



(美元目标。数据)是一个空对象{ }(美元。数据)值{切换:模态},它不会问,this.data美元返回值()在这里

查看下一个HTML代码,就像绑定到点击方法的DOM对象的属性值一样,下面是绑定DOM对象的HTML代码

发射演示模型

我添加了代码警报($(this).()).打印值是模态的,所以这里只能是jQuery文章,所以我研究了jQuery的源代码,发现它确实是!

以下是在jquery.fn.data功能部分的代码。当键没有被定义时,即调用数据(),以属性名数据开头的键值对将存储在匹配元素上。

在这种情况下,启动演示模式存储在}键值对中。

感兴趣的学生可以尝试调整下面的jQuery代码


所有值
如果(键=未定义){
如果(这个长度){
数据jquery.data(元);
如果(elem.nodetype = 1!jQuery。_data(元素,parsedattrs)){
属性= elem.attributes;
为(;;i < attrs.length;i++){
名称=属性{我的名字};
如果(name.indexof(数据)= = = 0){
名称= jquery.camelcase(name.slice(5));

DataAttr(元素、名称、数据{名称));
}
}
jQuery。_data(元素,parsedattrs
}
}
返回数据;
}




我再次详细阅读了jQuery网站的帮助文档。

HTML5数据*属性(HTML5数据*属性)

从jQuery 1.4.3,HTML 5数据属性会自动引用到jQuery的数据对象。嵌入式仪表处理属性(属性)已在jQuery 1.6改得符合W3C HTML5规范。

例如,给定以下HTML:






下面所有的jQuery代码都可以运行。


$();
$(div)。数据(lastvalue )= 43;
$();
$();