如果在IE中看到,如何替换div中的id标记

时间:2014-08-25 18:01:54

标签: html css internet-explorer

我有这个HTML行     

我试图让它成为当IE读取该行时,它会改变" listHr" id to" listhrIE"。 我试过这个,试图切换线altogeather,但没有运气:

<hr id="listHr"></hr> <!--[if IE]><id="listHrIE"></hr><![endif]-->

我确信我做错了。这样做的正确方法是什么? 感谢。

3 个答案:

答案 0 :(得分:0)

IE标签有一个“非IE”组件。

<!--[if IE]>
<hr id="listHrIE"></hr>
<![endif]-->
<![if !IE]>
<hr id="listHr"></hr>
<![endif]>

但是我提供了一个更好的方法,就是在检测到IE时覆盖listHr的样式

正如@Paulie_D指出的那样:条件标签已弃用,不适用于IE 10及更高版本。您可以使用特殊元标记:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">

强制他们工作,但不建议这样做。见这里:http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx

答案 1 :(得分:0)

您可以使用仅IE条件标签来检测IE。

就像:

<!--[if IE ]>
<p>Welcome to Internet Explorer 8.</p>
<![endif]-->

所以,在你的情况下,你需要两件事来改变身份证。

1)仅显示IE ID

2)隐藏非IE ID

要应用仅限IE的ID,您需要遵循条件标记代码

<!--[if IE ]>
<div id="listHrIE"></hr>
<![endif]-->

要隐藏非IE ID,您需要添加display:none

<!--[if IE ]>
<div id="listHrIE"></div>
<div id="listHr" style="display:none"></div>
<![endif]-->

现在,您可以按照自己的方式设置IE Only ID的样式,并且只有在IE检测到时才会替换listHr。

更新:目标IE 10使用以下jQuery:使用之前添加jQuery Migrate

<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>此行

到您的信息页<head> 然后添加

if ($.browser.msie && $.browser.version == 10) {
$("html").addClass("ie10");
}

我希望这会有所帮助:)

答案 2 :(得分:0)

试试这些:

<!--[if !IE]><hr id="listHr"></hr><!-->

<!--[if IE]><hr id="listHrIE"></hr><!-->

如果你想为某个版本的IE设置这个id,你可以这样做:

更大且相等的IE8:

 <!--[if gte IE 8]><!-->

小于等于IE8:

<!--[if lte IE 8]><!-->

等于IE8:

<!--[if IE 8]><!-->