微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

document.getElementById...setAttribute\'style\',...在Internet Explorer中不起作用[重复]

如何解决document.getElementById...setAttribute\'style\',...在Internet Explorer中不起作用[重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

如果想使更改反映在文档中,则使用
setAttribute
是不可靠的。改用
Element.style
var el = document.getElementById(\'id\' + id);
el.style.fontWeight = \'bold\';
el.style.color = \'red\';
el.style.fontSize = \'150%\';
等等。     ,使用jQuery。 jQuery是一个非常强大的JavaScript库,可让您用很少的代码执行几乎所有操作。它的主要优点之一(除了漂亮的语法外)是专门设计为与平台和浏览器无关的,因此您不必再担心任何这些了。 现在做同样的事情,但是在jQuery中,可能看起来像这样:
function swapText(id) {
    $(\'#id\' + id)
        .css(\'font-weight\',\'bold\').css(\'color\',\'red\').css(\'font-size\',\'150%\')
        .html(myarray[id][0]);
}

function originalText(id) {
    $(\'#id\' + id).css(\'color\',\'black\').html(myarray[id][1]);
}
当然,如果为您的“交换”样式定义CSS类,则可以简单地使用
$(\'#id\'+id).addClass(\'swapped\');
$(\'#id\'+id).removeClass(\'swapped\');
。 此外,确实有很好的方法来挂接事件,因此,如果您不想执行以下操作,甚至不需要使用名称定义函数:
$(\'div\').hover(function() { 
    $(this)
        .css(\'font-weight\',\'150%\')
        .html(myarray[id][0]);
},function() { 
    $(\'#id\' + id).css(\'color\',\'black\').html(myarray[id][1]);
});
    ,从MSDN:无法通过脚本访问此属性。要通过脚本访问样式,请使用样式对象     ,您可以使用也与IE-8和IE-7兼容的setAttribute
 var el = document.getElementById(\'id\' + id);
 el.setAttribute(\'fontWeight\',\'bold\');
 el.setAttribute(\'color\',\'red\');
 el.setAttribute(\'fontSize\',\'150%\');
为元素分配类,我建议以下
 el.className = \"class-name\";
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。