node.setAttribute('attName',null)返回类型不匹配

时间:2012-12-13 22:28:54

标签: javascript xml dom setattribute

以下代码在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);

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您要删除某个属性,请不要使用setAttribute(name, null),请使用removeAttribute(name)

我不确定你为什么要设置虚假值,我会假设你想要设置一些东西,或者删除属性。如下所示:

attributeVal ? 
    node.setAttribute(attributeName, attributeVal) : 
    node.removeAttribute(attributeName);