3

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

有什么建议么 ?

4

1 回答 1

0

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

我不确定您为什么要设置虚假值,我假设您要么想要设置某些东西,要么要删除该属性。所以像:

attributeVal ? 
    node.setAttribute(attributeName, attributeVal) : 
    node.removeAttribute(attributeName);
于 2012-12-13T22:38:57.633 回答