3
A
回答
2
只有串/数可以存储在属性中。所以如果你想存储图像细节,只需存储图像的src。如果由于某种原因你想存储一个对象,首先将它转换为字符串,然后当你检索它时,转换为对象。
//Convert to String
var mystring = JSON.stringify(myobject); // store this in the attribute.
//Convert to Object while retrieving
var myobj = JSON.parse(mystring);
1
其实当你检索这一点,你只能得到字符串值[object Object],[object Object]
。您使用错误的语法将数据保存在data-attribute
中。请先尝试将data-image
的值转换为JSON
格式,然后保留data-image
属性。之后,你可以通过检索你的数据(见注释)
const dataArray = [ { name: 'Name1' }, { name: 'Name2' } ];
const div = $('#div');
div.data('image', JSON.stringify(dataArray)); // keep the attribute as string
const retrievedDataImageAsJSON = div.data('image'); // retrieve the data attribute as string
const dataObj = JSON.parse(retrievedDataImageAsJSON); // parse from JSON into JS objects.
console.log(dataObj);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='div' data-image>
</div>
1
如果data-*
属性设置在HTML中使用有效JSON
的值,JSON.stringify()
和JSON.parse()
来设置和获取data-*
属性值,JavaScript对象。你可以使用HTMLElement.dataset
console.log(
JSON.parse(
document.querySelector("div").dataset.image
)
)
<!-- set `data-*` attribute value as valid `JSON` -->
<div data-image='[{"a":123}, {"b":456}]'></div>
相关问题
- 1. 检索HTML数据属性使用jQuery
- 2. 如何检索对象数组值?
- 3. 检索从jQuery的一个属性。数据对象
- 4. jQuery匹配属性数组中的对象的数据属性值
- 5. 检索的数据属性中的jQuery
- 6. 如何从数据绑定中检索对象属性信息
- 7. 如何获取数组到jQuery插件属性对象/数组
- 8. 检测属性值是否存在于对象数组中
- 9. 从数组中检索对象的值?
- 10. 在对象数组中搜索匹配的属性和值对
- 11. 循环对象属性vs数值索引数组
- 12. 如何使用HTML数据属性返回对象数据?
- 13. 如何检查数组中的对象值是否已经使用jquery存在
- 14. 如何从Angularjs中的对象数组中检索数据?
- 15. 从对象中检索数组值
- 16. 使用jquery搜索对象数组
- 17. 如何根据对象的属性对数组进行排序?
- 18. 如何搜索数组内的对象属性?
- 19. PHP使用对象检索DB数据
- 20. 从数组数组中的对象检索数据
- 21. 从jquery中的数据属性检索布尔数据
- 22. 的jQuery 1.8.1数据()错误检索HTML5数据属性
- 23. 如何检索输入的数据属性值?
- 24. 通过对象数组搜索,未定义对象的属性?
- 25. 如何检索数组元素的值(字符串)并使用它来检索实体的属性值?
- 26. 使用修改后的数组更新对象属性值
- 27. 使用反射设置对象数组类型的属性值
- 28. 如何使用jQuery获取数组的属性值
- 29. 如何在JQuery函数中获取对象的属性值?
- 30. 使用对象数组的特定属性创建数组
你能包括HTML问题设置HTML
data-*
属性? 'data- *'属性如何设置? – guest271314请在问题中添加更多详细信息。这里有什么问题?你想做什么以及如何? –