IE 中的 jQuery CSS 选择器

标签 jquery cross-browser

以下内容在 Firefox 中有效,但在 IE7 和 8 中中断:

$("#my-first-div, #my-second-div").hide();

所以我必须这样做:

$("#my-first-div").hide();
$("#my-second-div").hide();

这正常吗?

编辑:好的,我实际的代码是这样的:

$("#charges-gsm,#charges-gsm-faq,#charges-gsm-prices").html(html);

我的错误是这样的

( IE8): Message: 'nodeName' is null or not an object
  Line: 19 Char: 150 Code: 0
  URI: http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js 

最佳答案

您指定的位置状态:

Message: 'nodeName' is null or not an object
    Line: 19 Char: 150 Code: 0
    URI: http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

jquery 的特定部分是:

nodeName:function(elem,name){
    return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();
}

它本身就是一个为调用jQuery.extend()而创建的闭包。所以我想问一下,如果您执行“查看源代码”或其等效的 IE,是否有任何其他出现的字符串“nodeName”可能会干扰 jQuery。

您还可以通过创建 xx.html 文件并在 IE7/8 中打开它来测试以下内容吗?它在 Ubuntu 中的 Firefox 3 下运行良好,无论选择器中逗号后面有或没有空格。

<html>
  <head>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function(){
      $("a").click(function(event){
        $("#charges-gsm,#charges-gsm-faq,#charges-gsm-prices").html("xx")
        event.preventDefault();
      });
    });
  </script>
  </head>
  <body>
    <a href="http://jquery.com/">jQuery</a>
    <hr>
    <div id="charges-gsm">CHARGES-GSM</div>
    <div id="charges-gsm-faq">CHARGES-GSM-FAQ</div>
    <div id="charges-gsm-prices">CHARGES-GSM-PRICES</div>
  </body>
</html>

关于IE 中的 jQuery CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/186876/

相关文章:

javascript - 如何使用 `window.open` 显示模态弹出窗口?

cross-browser - 从共享文件夹打开并保存本地 Intranet 站点上的文档

css - 是否可以在没有任何 IE 条件 CSS 的情况下制作跨浏览器网站?

javascript - 各种 javascript 元素的跨浏览器兼容性

javascript - 折叠菜单 - 隐藏其他子菜单

javascript - JS 小部件(使用 Jquery)与主机页面上的原型(prototype)冲突

jquery - 如何更改事件链接标签的颜色

javascript - 如何在应用程序 + jQuery 插件(使用 $.widget 工厂)之间划分逻辑?

css - Opera、边界半径和溢出 :hidden

javascript - 将鼠标悬停在 TD 中的某些元素上时,jqGrid 在 IE 中闪烁