我想使用自定义布尔属性将元素的内容标记为可编辑。我知道data-*
属性,但不确定它们是否需要值。我不需要data-is_editable="false"
,因为缺少该属性是等效的。我只关心它是否为“true”(如果该属性存在)。我知道我可以使用其他属性,例如class
但我不想这样做,因为这似乎有点不合适(如果我错了,请纠正我)。
这是我正在阅读的资源,可能是错误的文档,或者我忽略了我正在寻找的信息:http://www.w3.org/html/wg/drafts/html/master/dom.html#custom-data-attribute http://www.w3.org/html/wg/drafts/html/master/dom.html#custom-data-attribute
例如,这合法有效吗?
<div data-editable data-draggable> My content </div>
您显示的示例是有效的。 (就像使用disabled
or checked
以一种形式。仅有的xHTML
强制存在一个值)
虽然,返回的值不是布尔值。当您查询此资源时,对于任何空的资源,您都会得到一个空字符串data-*
属性。
Like so:
domNode.dataset.draggable; // log ""
domNode.dataset.notAdded; // log null
所以,你只需要检查一下:
var isDraggable = (domNode.dataset.draggable != null)
Edit
之前没说出来真是傻了。但是,如果您想要布尔值,您可以检查该属性是否存在:
domNode.hasAttribute("data-draggable");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)