IE имеет стиль границ по умолчанию для изображений, которые сами не определяют его. Это известная боль IE. Правильный способ исправить это - добавить на страницу правило CSS по умолчанию. Если это одно из первых правил CSS, то оно не повлияет на другие правила CSS, которые вы уже установили:
<style type="text/css">
img {border: none;}
</style>
или если вы действительно хотите влиять только на изображения, которые находятся в теге <a>
, вы должны использовать этот CSS:
<style type="text/css">
a img {border: none;}
</style>
Если вы хотите исправить / изменить только одно изображение, вы можете также обратиться к этому конкретному изображению в теге <img>
, указав встроенную границу:
<img border="0" src="xxxx">
Если вы действительно хотите сделать это с помощью JavaScript, вы можете разместить этот код либо после загрузки страницы, либо вызывать его только после загрузки страницы:
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";
}
}
}
Вы можете увидеть код работы в IE здесь: http://jsfiddle.net/jfriend00/cnEhY/