【发布时间】:2015-05-30 04:06:50
【问题描述】:
假设我有以下元素:
<div class='selector' data-object='{"primary_key":123, "foreign_key":456}'></div>
如果我运行以下命令,我可以在控制台中看到该对象。
console.log($('.selector').data('object'));
我什至可以像访问任何其他对象一样访问数据。
console.log($('selector').data('object').primary_key); //returns 123
有没有办法根据这个属性中的数据来选择这个元素?以下不起作用。
$('.selector[data-object.foreign_key=456]');
我可以遍历选择器的所有实例
var foreign_key = 456;
$('.selector').each(function () {
if ($(this).data('object').foreign_key == foreign_key) {
// do something
}
});
但这似乎效率低下。有一个更好的方法吗?这个循环实际上比使用选择器慢吗?
【问题讨论】:
-
我无法重现你的结果,你的意思是你的html就像
data-object='{"primary_key":123, "foreign_key":456}' -
是的!非常抱歉,谢谢。编辑我的原始帖子。
标签: javascript jquery json custom-data-attribute