jQuery 循环遍历 data() 对象
是否可以循环遍历 data()
对象?
假设这是我的代码:
$('#mydiv').data('bar','lorem');
$('#mydiv').data('foo','ipsum');
$('#mydiv').data('cam','dolores');
我如何循环它? 可以使用 each()
来实现此目的吗?
Is it possible to loop through a data()
object?
Suppose this is my code:
$('#mydiv').data('bar','lorem');
$('#mydiv').data('foo','ipsum');
$('#mydiv').data('cam','dolores');
How do I loop through this? Can each()
be used for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
使用 jQuery 1.4 和 @user292614 的提示进行测试,效果如下:
Tested with jQuery 1.4 and tips from @user292614 the following works:
我不认为有任何函数可以为您提供使用
data()
函数添加的数据的所有“键”,但是为什么不将所有数据放入进入对象/映射下的函数?像这样:
然后当你想读取数据/迭代它时:
I don't think that there is any function that gives you all of the "keys" of the data that has been added with the
data()
function, but instead, why not put all of your data into the function under an object / map?something like this:
and then when you want to read the data / iterate through it:
我刚刚尝试过,但需要一些额外的数据值。 如果您也遇到这个“问题”,那么以下方法应该有效。
那么你可以简单地使用值 id 进行扩展
I just tried this but needed some extra data values. If you also got this "problem" then the following should work.
then you can simply extend with the value id
如果我们使用 .data() 意味着它存储与匹配元素关联的任意数据,或者返回匹配元素集中第一个元素的指定数据存储中的值。
如果 .data() 在循环中,所以我们必须在循环中以相同的方式访问它,例如(如下)
我的循环中的 html 和
data-today
在所有标记中都是相同的,但它们的值不同所以基本上它是循环生成的html
所以我们必须以相同的方式访问,即js/jQuery
中的循环,例如(在 jQuery 代码下面)
<代码>$('.weekday').each(function(){
$(this).data('今天');
});
OutPut :
注意:在浏览器控制台中,它返回特定的
。
If we use .data() means it store arbitrary data associated with the matched elements or return the value at the named data store for the first element in the set of matched elements.
and if .data() in loop so we have to access it same manner in loop so for e.g(below)
The html in my loop and
data-today
is same in all tags but their values are different so basically it is loop generatedhtml
so we have to access in same manner i.e loop injs/jQuery
for e.g.(below jQuery code)
$('.weekday').each(function(){
$(this).data('today');
});
OutPut :
NOTE : In browser console it return particular
<DIV>
.这将迭代“this”元素的数据对象中的每个属性。
This will iterate through each property in 'this' element's data object.
jQuery 将所有数据信息存储在 jQuery.cache 内部变量中。 可以使用这个简单但有用的插件获取与特定对象关联的所有数据:
有了这个插件,您可以执行以下操作:
您可以仅使用 matt b 的建议,但这就是如何使用您现在拥有的东西来做到这一点。
jQuery stores all the data information in the jQuery.cache internal variable. It is possible to get all the data associated with a particular object with this simple but helpful plugin:
With this in place, you can do this:
You could just use matt b's suggestion but this is how to do it with what you have right now.