以下代码在IE9中返回类型不匹配错误。
node.setAttribute('attributeName',null);
但
node.setAttribute('attributeName',undefined) doesn't give an error.
这也很好:
node.setAttribute('attributeName','null');
知道为什么会发生这种情况,并找到解决问题的好方法。
一种解决方案是检查,
if (attributeVal === null){
attributeVal = 'null';
},
node.setAttribute('attributeName',attributeVal);
有什么建议吗?
答案 0 :(得分:0)
如果您要删除某个属性,请不要使用setAttribute(name, null)
,请使用removeAttribute(name)
。
我不确定你为什么要设置虚假值,我会假设你想要设置一些东西,或者删除属性。如下所示:
attributeVal ?
node.setAttribute(attributeName, attributeVal) :
node.removeAttribute(attributeName);