Javascript IE修复程序-将不执行条件注释脚本

Javascript IE修复程序-将不执行条件注释脚本,javascript,internet-explorer,conditional-comments,script-debugging,Javascript,Internet Explorer,Conditional Comments,Script Debugging,我正在尝试建立一个网站。除了IE版本8和更低版本外,我在每个浏览器中都能正确显示它。IE渲染我的img周围的蓝色框,这些框也是锚。我可以通过将border属性设置为none来解决这个问题,但是我想用javascript来实现。我可以让Javascript在条件注释中执行 try { var ancs = document.getElementsByTagName("a"); for(var i=0; i<ancs.length; i++) { if(anc

我正在尝试建立一个网站。除了IE版本8和更低版本外,我在每个浏览器中都能正确显示它。IE渲染我的img周围的蓝色框,这些框也是锚。我可以通过将border属性设置为none来解决这个问题,但是我想用javascript来实现。我可以让Javascript在条件注释中执行

try
{
var ancs = document.getElementsByTagName("a");

    for(var i=0; i<ancs.length; i++)
    {
        if(ancs[i].childNodes[0].nodeName == "IMG")
        {
            //Set border property to none
        }
    }
}
catch(err)
{
alert(err);
}
试试看
{
var ancs=document.getElementsByTagName(“a”);

对于(var i=0;i您的条件注释是什么样子的?为什么不将其作为一种样式应用呢?它将比使用JavaScript更快,并且得到更好的支持。

我很抱歉没有回答JavaScript部分。但是您应该使用CSS这样做:

a img { border:0; }

IE有一个默认的图像边框样式,但没有自己指定。这是IE的一个已知难题。解决这个问题的正确方法是在页面中添加一个默认CSS规则。如果这是第一个CSS规则之一,那么它不会影响您已经设置的任何其他CSS规则:

<style type="text/css">
    img {border: none;}
</style>

img{边框:无;}

或者,如果你真的只想影响

中的图像,我认为你不能通过css直接做
img{border style:none;}
<style type="text/css">
    a img {border: none;}
</style>
<img border="0" src="xxxx">
function nukeImageBorders() {
    // assumes all affected images have an <a> tag as their parent
    var list = document.getElementsByTagName("img");
    for (var i = 0, len = list.length; i < len; i++) {
        if (list[i].parentNode.tagName.toLowerCase() == "a") {
            list[i].style.border = "none";
        }
    }
}