【问题标题】:How can I show and hide elements in IE8?如何在 IE8 中显示和隐藏元素?
【发布时间】:2017-01-23 14:32:45
【问题描述】:

不幸的是,我需要让一个在可怕的 IE 中运行的网站降至 8 - 很久以来我不得不对 8 做任何事情,所以我正在努力解决以下问题。

我正在使用 Modernizr Check,它为旧浏览器运行以下脚本:

$(".hp_header #bgvid, .hp_header .cd-background-wrapper").hide();
$(".hp_header .respy").show();
$(".hp_header #bgvid, .hp_header .cd-background-wrapper").css("display", "none");
$(".hp_header .respy").css("visible", "true");
$(".hp_header .respy").css("display", "block");
$(".hp_header .respy").css("width", "100%");

很遗憾,可见性和显示选项被 IE8 完全忽略了,我该怎么办?

【问题讨论】:

  • 您的问题不清楚。它的哪一部分不起作用?这段代码要运行的 DOM 是什么?
  • 如果 .respy是一个默认为inline-block或inline的元素(如span),你可以' t 让 IE8 将其视为block。这只是旧 IE 的现实。另请注意,没有visible CSS 属性(有visibility,但没有true 值,它有visible、hidden 或collapse)。
  • visibility 和 display 一直工作到 IE4,所以你不应该有任何问题。你能准确描述问题是什么

标签: jquery internet-explorer internet-explorer-8 modernizr


【解决方案1】:

可能不是您正在寻找的答案,而是更多的建议。 您可以使用这样的条件 html 语句

<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->

然后,你可以像这样的 css 做所有事情:

.ie8 .hp_header #bgvid, 
.ie8 .hp_header .cd-background-wrapper {
    display:none;
}

.ie8 .hp_header .respy {
    display:block;
    width:100%;
    visibility:visible;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多