如何在IE,FF,Chrome等上可靠地设置类attr w/JavaScript?

All*_*loi 10 javascript class internet-explorer-7

我使用下面的JS代码,以便在单击链接时更改类.

document.getElementById("gifts").setAttribute("class", "gkvSprite selected");
Run Code Online (Sandbox Code Playgroud)

这在IE中不起作用,但它在FF和Chrome中起作用.然后我将代码更改为:

document.getElementById("gifts").setAttribute("className", "gkvSprite selected");
Run Code Online (Sandbox Code Playgroud)

然后它在IE中工作,但在FF和Chrome中停止工作.

有人可以帮帮我吗?

T.J*_*der 14

您可以可靠地使用该className属性而不是setAttribute:

document.getElementById("gifts").className = "gkvSprite selected";
Run Code Online (Sandbox Code Playgroud)

更一般地说,有几个属性名称,不同的浏览器在不同的处理方式setAttribute:classvs classNameforvs htmlFor..像Prototype,jQuery等库可以为你消除这些差异,虽然(再次)在特定情况下class,你可以可靠地使用属性.