我使用 setAttribute
来存储元素的一些信息,以便稍后我可以将值恢复到其 innerHTML
。
我的问题是,当属性未设置(存在)时 element.getAttribute("attr")
返回值到底是什么?
似乎它在 chrome 中返回 null (这对我有好处),但我读到它也可以返回空字符串,但我想在设置了空字符串时使用该值。
所以我显然不能这样做:
var value = element.getAttribute("prev_value");
if (value) { // won't cover the empty string case, so I need value != null
}
是否有不返回 null 的浏览器?
最佳答案
getAttribute()的基本用法
“getAttribute() 返回元素上指定属性的值。如果给定属性不存在,则返回值将为 null 或 ""(空字符串);有关详细信息,请参阅注释。" - MDN Docs
正如 @Maciej 指出的,您应该使用 .hasAttribute() 返回您的真值。
关于javascript - getAttribute不存在时返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39395110/