document.getElementById(“...”)。className =“...”;不在IE中工作

时间:2011-11-15 21:28:28

标签: javascript internet-explorer getelementbyid classname

我在这里创建了一个业务生成器:http://minespress.net/web_apps/business-cards/

我使用document.getElementById("…").className = "…";创建了一个预览窗格,它在onClick(缩略图)上切换背景图像,并根据名片的设计在文本div周围移动。这在FF,Chrome和Safari中完美无瑕。当我在IE中尝试它时没有发生任何事情。

我还应该提一下,我的拇指是单选按钮,需要根据是否选中它们来更改表单操作。除IE之外,其他浏览器再次正常工作。是否有一些IE错误或我只是做了一些完全错误的事情?

以下是我的代码示例:

<input
    style="display:none"
    checked="checked"
    name="group1"
    id="2"
    value='http://minespress.net/web_apps/business-cards/img/twinkle-blue.jpg'
    type="radio"
    onclick="document.getElementById('card').className ='Default'; document.getElementById('compname').className ='', document.getElementById('slogan').className ='', document.getElementById('leftinfo').className ='', document.getElementById('rightinfo').className =''" />

3 个答案:

答案 0 :(得分:2)

IE 8不支持图像作为输入字段的标签。这就是我的单选按钮不起作用的原因。现在我只需要弄清楚如何解决这个问题。

答案 1 :(得分:1)

改为使用setAttribute:

var ele = document.getElementById('card')
ele.setAttribute('class', 'Default');

答案 2 :(得分:1)

您是否尝试将,更改为;? IE可能比其他浏览器更挑剔......

更改

"document.getElementById('card').className ='Default'; document.getElementById('compname').className ='', document.getElementById('slogan').className ='', document.getElementById('leftinfo').className ='', document.getElementById('rightinfo').className =''"

"document.getElementById('card').className ='Default'; document.getElementById('compname').className =''; document.getElementById('slogan').className =''; document.getElementById('leftinfo').className =''; document.getElementById('rightinfo').className =''"

并查看是否能解决您的问题。