【问题标题】:javascript error object expected预期的 javascript 错误对象
【发布时间】:2011-12-08 17:15:35
【问题描述】:

在执行下面的代码时,我收到了 javascript 错误“预期对象”,尽管我能够在另一个解决方案中运行相同的代码。请帮忙。

   $(document).ready(function ()
        {

            $('a.desc').click(function () 
               {
                 $('label input[type="text"]').val($(this).html()).keyup();
           });
           $("a[rel^='prettyPhoto']").prettyPhoto();
           bTable = $("#invoiceSummary").dataTable({
            "bPaginate": true,

            "bLengthChange": true,

            "bFilter": true,

            "bSort": true,

            "bInfo": true,

            "bAutoWidth": true,

            "bJQueryUI": true,

            "iDisplayLength": 25

        });
    });

【问题讨论】:

  • 您在哪一行得到错误?尝试在安装了 Firebug 的 Firefox 中运行它以获得更多有用的调试信息
  • 你在哪一行得到错误?
  • 也许使用 Chrome 或 Firefox 来调试您的 Javascript 代码并找出它到底在哪里中断?这将有助于回答您的问题。
  • 我的直觉表明它可能是您的选择器之一不匹配任何东西。尝试在 if 语句中包含您选择某些内容的每个语句,检查它是否存在,如下所示: if ($('a.desc')) { //rest of code here... }
  • 错误出现在第一行,代码在另一个解决方案中运行良好,即使在这里它突然出现时表现良好。选择器似乎没问题。

标签: javascript asp.net asp.net-ajax


【解决方案1】:

我认为问题出在 prettyPhoto 或 dataTable 插件中。我是这样推断的:

  1. 我看不到语法错误
  2. 有时选择器可以返回 0 个元素。如果 $('a.desc') 或 $('label input[type="text"]') 返回 0 个元素,那么这不会导致错误,因为 jquery 函数 .click()、.val()、 .html() 和 .keyup() 显然可以应付空集合
  3. prettyPhoto() 和 dataTable() 可以处理空集合吗?不知道,因为我不知道插件。即使集合不为空(即返回 $("a[rel^='prettyPhoto']") 和 $("#invoiceSummary")) 的结果,那么这些插件可能希望传入某个参数,但是从来没有收到过。

我的建议是查看 prettyPhoto 和 dataTable 插件的选择器是否返回任何元素,并检查您是否提供了这些插件所需的所有参数作为参数。如果您对此感到满意,那么我会怀疑存在错误或缺少其他依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多