为什么’;t设置“;残疾人士”;a<;链接>;标签通过JavaScript在IE 8中工作?

为什么’;t设置“;残疾人士”;a<;链接>;标签通过JavaScript在IE 8中工作?,javascript,html,internet-explorer-8,Javascript,Html,Internet Explorer 8,我正在实现一个JavaScript函数,用于启用/禁用网站的两个CSS文件: function switch_style () { var i, link_tag ; for (i = 0, link_tag = document.getElementsByTagName("link"); i < link_tag.length ; i++ ) { if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1

我正在实现一个JavaScript函数,用于启用/禁用网站的两个CSS文件:

function switch_style ()
{
    var i, link_tag ;
    for (i = 0, link_tag = document.getElementsByTagName("link"); i < link_tag.length ; i++ ) 
    {
        if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1) && link_tag[i].title) 
        {
            if(link_tag[i].title == "normal")
            {
                link_tag[i].disabled = true;
            }
            else if (link_tag[i].title == "contrast")
            {
                link_tag[i].disabled = false;
            }
        }
    }
    set_cookie( style_cookie_name, "contrast", style_cookie_duration );
}
功能开关\u样式()
{
变量i,链接标签;
对于(i=0,link_tag=document.getElementsByTagName(“link”);i
如您所见,我启用或禁用了链接标记。这适用于所有浏览器,但不适用于IE8


是否存在已知原因?

如果使用
删除属性(“禁用”)
而不是将其设置为false,该怎么办?

您正在切换
链接
元素的属性。正如MDC所说

[t] 他的属性是不标准的和不可靠的 仅由某些Microsoft浏览器使用 作者不得使用和。 要实现其效果,请使用 以下技巧:

  • 如果已将
    disabled
    属性直接添加到页面中,请不要 改为包含
    元素
  • 如果通过脚本添加了禁用的
    属性,请将其从
    DOM是通过脚本编写的
要从DOM中删除
链接
元素,请使用

这只是一个愚蠢的例子:如果要删除页面上的第一个
链接
元素,只需在浏览器的位置栏中输入以下JavaScript函数:

javascript:(function(){var a=document.getElementsByTagName('head')[0];a.removeChild(a.getElementsByTagName('link')[0])})();
(我只是试了一下,看起来很有趣:)