Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于访问者品牌web浏览器删除类的正确jQuery语法是什么?_Jquery_Internet Explorer_Removeclass_Navigator - Fatal编程技术网

基于访问者品牌web浏览器删除类的正确jQuery语法是什么?

基于访问者品牌web浏览器删除类的正确jQuery语法是什么?,jquery,internet-explorer,removeclass,navigator,Jquery,Internet Explorer,Removeclass,Navigator,如果访问者正在使用Internet Explorer IE,我想从指定ID中删除一个类 首先,我使用IE和以下JavaScript语法为访问者创建了一个重定向,效果很好: <script language=javascript> if ((navigator.userAgent.match(/IE/i))) { document.location = "http://www.somepage.com/IE_page.html"; } </script>

如果访问者正在使用Internet Explorer IE,我想从指定ID中删除一个类

首先,我使用IE和以下JavaScript语法为访问者创建了一个重定向,效果很好:

<script language=javascript>
if ((navigator.userAgent.match(/IE/i))) {
    document.location = "http://www.somepage.com/IE_page.html";
    }
</script>
但我想采取不同的策略。我不想重定向到另一个页面,而是希望能够删除或向ID添加类

我创造了但没有成功的是:

<script language=javascript>
if ((navigator.userAgent.match(/IE/i))) {
    $('#someIdHere').removeClass('someClassHere');
    }
</script>
我在这个脚本上面有必要的jQuery链接


这个jQuery语句缺少什么语法?

您需要将代码包装在$document.ready块中,否则代码执行时页面上不存在someIdHere元素

$(document).ready(function () {
    if ((navigator.userAgent.match(/IE/i))) {
        $('#someIdHere').removeClass('someClassHere');
    }
});
。。或者,您可以将代码包含在页面底部的前面,而不是中

还要注意,您可能会将非IE浏览器与您的正则表达式模式相匹配。类似于/\bMSIE\b/i的内容更准确


FWIW,请参阅关于在标记中使用language=javascript的说明。

您需要将代码包装在$document.ready块中,否则代码执行时页面上不存在someIdHere元素

$(document).ready(function () {
    if ((navigator.userAgent.match(/IE/i))) {
        $('#someIdHere').removeClass('someClassHere');
    }
});
。。或者,您可以将代码包含在页面底部的前面,而不是中

还要注意,您可能会将非IE浏览器与您的正则表达式模式相匹配。类似于/\bMSIE\b/i的内容更准确


FWIW,请参阅关于在标记中使用language=javascript的说明。

javascript中有一种方法可以通过使用条件注释来检测ie。这不是我的作品,我只想发布詹姆斯·帕多尔西的片段:

您可以采取的另一种方法是直接在HTML文件上使用条件注释,而不需要直接在JS中检测任何内容。我认为这更可取:

<!--[if lt IE 7 ]> <html class="msie ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="msie ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="msie ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="msie ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->
用此代码段替换文件中的HTML标记。IE将呈现与其版本对应的标记。然后可以在html标记上查找类msie的存在


请注意,这两种解决方案都不适用于IE10,因为此版本不再支持条件注释。

javascript中有一种方法可以通过使用条件注释来检测ie。这不是我的作品,我只想发布詹姆斯·帕多尔西的片段:

您可以采取的另一种方法是直接在HTML文件上使用条件注释,而不需要直接在JS中检测任何内容。我认为这更可取:

<!--[if lt IE 7 ]> <html class="msie ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="msie ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="msie ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="msie ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->
用此代码段替换文件中的HTML标记。IE将呈现与其版本对应的标记。然后可以在html标记上查找类msie的存在


请注意,这两种解决方案都不适用于IE10,因为此版本不再支持条件注释。

?你为什么要在2013年写HTML3.2?浏览器嗅探这几天真的过时了@阿迪内奥:我不怀疑,但我参加舞会总是迟到三年;您还可以使用$.browser.msie检测用户浏览器是否为IE。@putvande:$.browser是否已在jQuery 1.9中删除?你为什么要在2013年写HTML3.2?浏览器嗅探这几天真的过时了@阿迪内奥:我不怀疑,但我参加舞会总是迟到三年;您还可以使用$.browser.msie检测用户浏览器是否为IE。@putvande:$.browser已在jQuery 1.9Toppen中删除!正如我的问题和我的个人资料所暗示的那样,我是一个自私自利的人,对网页编程是一个新手。谢谢我确实从其他东西中认出了´$document.readyfunction´。我会接受答案,因为asapI会稍微锁定正则表达式。很多作品都有ie。IE将自己标识为MSIE,因此可能是/\bMSIE\b/i。但同样,浏览器检测通常是反模式的!正如我的问题和我的个人资料所暗示的那样,我是一个自私自利的人,对网页编程是一个新手。谢谢我确实从其他东西中认出了´$document.readyfunction´。我会接受答案,因为asapI会稍微锁定正则表达式。很多作品都有ie。IE将自己标识为MSIE,因此可能是/\bMSIE\b/i。但是,浏览器检测通常是反模式的。