编写Javascript代码以解决浏览器兼容性问题是否可以?

时间:2011-10-04 09:18:40

标签: javascript css cross-browser

编写Javascript代码以解决浏览器兼容性问题是否可以,或者我永远不需要它,所有内容都只能使用CSS解决?


我的问题

我在ASP.Net应用程序中有一个菜单,此菜单呈现隐藏的图像控件,假设height=0width=0不会呈现任何内容。这在IE浏览器中是正确的,但它在Chrome中保留了空白区域,看起来很难看。

这是生成的代码:

<img alt="Skip Navigation Links" src="/WebResource.axd?d=6z..." 
     width="0" height="0" style="border-width:0px;" />

我编写了以下代码来解决问题:

<script type="text/javascript">
    $('img[height="0"]').css('display', 'none');
</script>

我做的是真的,也是解决这些问题的唯一方法吗?

注意:我的示例中的代码是 生成的 ,用于ASP.Net菜单控件,我无法访问它来设置具体风格

2 个答案:

答案 0 :(得分:3)

我不认为在这种情况下需要javascript,因为你可以在元素中添加一个类或id并设置样式或使用:

img[height="0"] {
    display: none;
}

答案 1 :(得分:0)

您正在使用javascript更改CSS样式属性。

为什么不简单地使用它:style="border-width:0px; display:none;"

<强> [编辑]

如果您真的无法访问代码的生成方式,则可以尝试使用菜单img为特定的div元素添加样式:.parentClass img { display:none; }

如果没有可能为任何这些元素定义css类,那就有点奇怪。