[英]How to assign dataset in Object.assign()?
Is it possible to assign dataset attributes with Object.assign()?是否可以使用 Object.assign() 分配数据集属性? For example like this:
例如像这样:
Object.assign(document.getElementById('test'), {
id: 'test',
dataset: { mydata: 'test' },
})
Update: at least this works for assigning multiple dataset:更新:至少这适用于分配多个数据集:
Object.assign(document.getElementById('test').dataset, {
mydata: 'test',
})
No.不。
The dataset
property is readonly so you can't overwrite it. dataset
属性是只读的,所以你不能覆盖它。
If you could, then your attempt will break it because the value needs to be a DOMStringMap object and not a plain object.如果可以,那么您的尝试将破坏它,因为该值需要是DOMStringMap对象而不是普通对象。
You can use Element.setAttribute()
function for adding HTMLElement
attribtue.您可以使用
Element.setAttribute()
函数来添加HTMLElement
属性。 Check it out-一探究竟-
const el = document.getElementById('test');
const dataset = {name: 'john', age: 34, gender: 'male'};
for (const prop in dataset) {
el.setAttribute(`data-${prop}`, dataset[prop]);
}
dataset
with data name and value is declared.dataset
。for ... in
loop and using setAttribute
function set the data attribtue.for ... in
循环迭代抛出对象并使用setAttribute
函数设置数据属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.