【发布时间】:2015-03-04 20:03:55
【问题描述】:
我想根据是否已访问将span 节点的visited 属性设置为true 或false。
test();
function test () {
var el = document.createElement("span");
el.setAttribute("visited", false);
el.setAttribute("visited", true);
alert(el.getAttribute("visited") === true); //False
alert(el.getAttribute("visited") === "true"); //True
}
我最初将属性“已访问”设置为布尔值false,然后将布尔值设置为true。我注意到当我检查属性是否为true 时,它返回false,但如果我检查字符串true,它返回true。
MSN Docs 只讲attributeName 需要是字符串,而不是值。那么为什么与布尔值进行比较不起作用呢?
【问题讨论】:
-
是的,
attributes总是字符串,但properties可以是几种不同的类型。 -
MSDN 不是相关标准的规范性参考,W3C 是:setAttribute,getAttribute。
标签: javascript html boolean setattribute getattribute