【问题标题】:JQuery issue with ChromeChrome 的 JQuery 问题
【发布时间】:2011-03-15 16:54:59
【问题描述】:

我有一个使用 JQuery 进行 ajax 调用的页面。在 Chrome 中查看页面在开发者控制台中显示以下错误:

 Uncaught TypeError: Cannot set property 'display' of undefined

虽然同一页面在 firefox 3.6.6 中运行,但在 firebug 控制台中没有任何错误。

错误来自 j-query-1.4.2 中的一行(如 chrome 控制台所示)

还有其他人面临类似问题吗?

基本上,我使用的是显示在模态日志中的 DatePicker。

代码如下:

$(document).ready(function () {
$("#inputs input[name=dateField]").datepicker(
        {
            showOn: 'both',
            dateFormat:'dd/mm/yy HH:II TT',
            showButtonPanel: true, 
            maxDate: '+0D',
            buttonImage:'calendar.gif',
            buttonImageOnly: true,
        }
);
 });

【问题讨论】:

  • 您能给我们提供导致此错误的任何行吗?来吧...
  • 我确实遇到过类似的问题,但从未对我的页面的性能或功能产生不利影响。它是否会给您的网站带来任何重大的可用性问题?
  • 应该在 Chrome 中显示的对话框不起作用。但是如果我刷新整个页面,那么它是第一次工作。

标签: jquery firefox google-chrome


【解决方案1】:

我建议您开始在 chrome 的开发者控制台中尝试您的代码行。在您的页面上打开开发人员工具(因此您的所有代码都已加载)并转到控制台选项卡。输入/粘贴到控制台:

$("#inputs input[name=dateField]")

然后看看它是否返回一个有长度的对象。如果返回的对象只有“context”、“selector”和“__ proto__”属性,jquery什么也没找到。如果它还具有“长度”属性和命名为数字的属性(“0”、“1”等),那么它找到了一些东西(或多个东西)。

从那里,您可以尝试其他代码,看看 Chrome 会说什么。

【讨论】:

    【解决方案2】:

    我认为在其“id”属性值为“inputs”的父容器内没有名为“dateField”(对于属性“name”)的此类 INPUT 字段。或者,父容器元素可能未使用其正确的“id”属性值定义。

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      有些浏览器对在理论上不支持的元素上设置属性很挑剔。就像 IE 不喜欢在 .我的猜测是您尝试将 jquery 与错误的标签联系起来。但仍然 - 给一个代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-17
        • 2011-03-31
        • 2012-01-17
        • 2012-02-13
        • 2011-08-17
        相关资源
        最近更新 更多