[英]How to create/get custom attribute element in html by javascript?
I have element same below:我在下面有相同的元素:
<div cutomsAttr.option1.option2="abc" id="custom">
</div>
I want to create and get custom attribute containing modifiers, if any.我想创建并获取包含修饰符的自定义属性(如果有)。
For example in cutomsAttr.option1.option2
, the modifiers object would be例如在
cutomsAttr.option1.option2
中,修饰符 object 将是
{ option1: true, option2: true }.
You can use data-*
attributes, which allow us to store extra information on standard, semantic HTML elements without other hacks such as non-standard attributes or extra properties on DOM.您可以使用
data-*
属性,它允许我们在标准、语义 HTML 元素上存储额外信息,而无需其他技巧,例如非标准属性或 DOM 上的额外属性。
The syntax is simple.语法很简单。 Any attribute on any element whose attribute name starts with
data-
is a data attribute.属性名称以
data-
开头的任何元素上的任何属性都是数据属性。 Lets say you have a div
and you want to store some extra information that doesn't have any visual representation.假设您有一个
div
,并且您想要存储一些没有任何视觉表示的额外信息。 Just use data
attributes for that like:只需使用
data
属性,例如:
<div id="custom" data-cutomsAttr="abc">
</div>
Then in your code, you can access its new data-cutomsAttr
attribute value dataset
property like:然后在您的代码中,您可以访问其新
data-cutomsAttr
属性值dataset
属性,例如:
const custom = document.querySelector('#custom'); console.log( custom.dataset.cutomsattr )
<div id="custom" data-cutomsAttr="abc"> </div>
Note: That camelCase attribute cutomsAttr
are converted to lowercase cutomsattr
.注意: camelCase 属性
cutomsAttr
被转换为小写cutomsattr
。
Now, in order to get something solar to " Custom attribute containing modifiers ", you can just set multiple data
attributes for the options like:现在,为了让“包含修饰符的自定义属性”得到一些太阳能,您可以为以下选项设置多个
data
属性:
<div id="custom" data-cutomsAttr="abc" data-option1="true" data-option2="false">
</div>
and then access them like:然后像这样访问它们:
const custom = document.querySelector('#custom'); const { cutomsattr, option1, option2 } = custom.dataset console.log( cutomsattr, option1, option2 )
<div id="custom" data-cutomsAttr="abc" data-option1="true" data-option2="false"> </div>
In case, if you don't want to set data-option1
& data-option2
all divs and make them optional with default value false
, you can also do that like:如果您不想设置
data-option1
& data-option2
所有 div 并使用默认值false
将它们设为可选,您也可以这样做:
const custom = document.querySelector('#custom'); const { cutomsattr, option1 = false, option2 = false } = custom.dataset console.log( cutomsattr, option1, option2 )
<div id="custom" data-cutomsAttr="abc" data-option1="true"> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.