我想知道使用$(element).data({'foo' : 'bar'})vs 将数据保存到元素之间的区别$(element).attr({ 'data-foo' : 'bar' }).在将大量数据保存到元素中时,哪种方法最适合使用?谢谢
我有点问题.我有几个按钮,每个按钮都有不同的data-function=""属性.我想执行一个小脚本来检查哪些按钮被点击了.
<a href="#" class="functionButton" data-function="blogFunctionaliteit">Blog</a>
<a href="#" class="functionButton" data-function="offerteFunctionaliteit">Offerte</a>
<a href="#" class="functionButton" data-function="overzichtFunctionaliteit">Offerte</a>
Run Code Online (Sandbox Code Playgroud)
我只想要一个说的脚本
if $(this) has <data-function="blogFunctionaliteit"> { }
if $(this) has <data-function="offerteFunctionaliteit"> { }
if $(this) has <data-function="overzichtFunctionaliteit"> { }
else { // do nothing }
Run Code Online (Sandbox Code Playgroud)
我尝试过很多东西,但一切似乎都没有用,包括
if ($(this).attr('data-function', 'blogFunctionaliteit') { } - 总是会导致yes,因为它只检查对象是否具有第一个参数,而不是检查它们.
提前感谢您编写正确的jQuery代码或建议我使用其他东西.
我发现这个测试http://jsbin.com/ekofa/2表明HTML5 data-XXX比jQuery快.data().我正在开始一个项目,需要在HTML元素上放置大量小数据,其中性能至关重要.我应该使用.data()或HTML5数据-XXX?该测试是否相关且准确?
我有这个代码:
<html>
<head>
<script type = "text/javascript" src = "jquery-1.7.1.js"></script>
<script type = "text/javascript" src = "jquery-ui-1.8.18.custom.min.js"></script>
</head>
<body>
<div id = "div" onclick = "Rotate()">
<img src="image.png" height="40" width="160">
</div>
<script type="text/javascript">
var x = 1;
function Rotate() {
var angle = (90 * x);
$("div").css("-moz-transform",
"rotate(" + angle + "deg)");
x++;
}</scipt></body></html>
Run Code Online (Sandbox Code Playgroud)
当使用Rotate()脚本时,div似乎已经旋转了,但是当用Firebug查看时,我可以看到它div仍处于相同的位置.我做错了什么,或者我正在使用错误的东西完成我想要完成的任务?
编辑:
谢谢你的回复!我将背景设置为黄色并且它变为黄色框但是当在Firebug中单击div名称时,它显示div仍处于其原始位置.
什么是更好的?
var itemId=8;
$('#aaa').data('ItemId', itemId);
$('#aaa').attr('ItemId', itemId);
Run Code Online (Sandbox Code Playgroud)
数据还是attr?