Jquery对象不支持此属性或方法

时间:2013-04-02 08:10:23

标签: jquery jquery-plugins

我的JSP页面中有以下内容,我收到错误

Message: Object doesn't support this property or method

$("#projects").dataTable({

如果我删除

.makeEditable({
                   sAddURL: "addController"
                              });

然后没有js错误,我该如何解决这个问题?

JS代码

$(document).ready(function () {
    $("#projects").dataTable({ // error here
        "bServerSide": true,
        "sAjaxSource": "mycontroller",
        "bProcessing": true,
        "sPaginationType": "full_numbers",
        "bJQueryUI": true
    }).makeEditable({
        sAddURL: "addController"
    });
});

我有以下js文件

 <script src="scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
 <script src="scripts/jquery.dataTables.editable.js" type="text/javascript">
 </script>
 <script src="scripts/jquery.jeditable.js" type="text/javascript"></script>
 <script src="scripts/jquery.validate.js" type="text/javascript"></script>
 <script src="scripts/jquery-ui.js" type="text/javascript"></script>

 <script src="scripts/jquery.js" type="text/javascript"></script>
 <script src="scripts/jquery.dataTables.min.js" type="text/javascript"></script>

3 个答案:

答案 0 :(得分:6)

您要包含两次jQuery库,可能使用两个不同的版本。 scripts/jquery-1.4.4.min.jsscripts/jquery.js都是jQuery库。

第二个将替换第一个,并且在此过程中您将丢失添加到第一个实例的所有插件。由于您最终只使用了dataTables插件,makeEditable调用将无效。不是dataTable方法不存在,错误只是在该行上报告,因为语句从那里开始。

删除jQuery库的第二个包含。如果它与jQuery库的1.4.4版本不兼容,您可能还需要不同版本的dataTables插件。或者使用更高版本的jQuery。

答案 1 :(得分:2)

好吧,@ Guffa已经回答得足够多了。如果你愿意,你可以接受他的回答。 :)

我只想添加另一个东西,即jQuery版本之间的冲突。这是因为如果你使用的插件与你所包含的jQuery版本不兼容(发生在我身上的话)。您可以添加与该插件兼容的另一个jQuery版本,以及使用jQuery.noConflict()

答案 2 :(得分:0)

根据您提供的内容,我只能假设在$('#projects').dataTable加载之前jquery.dataTables.min.js正在执行。