Javascript jQuery选项卡在某些选项卡上与另一个jQuery/JS代码一起使用时出现错误

Javascript jQuery选项卡在某些选项卡上与另一个jQuery/JS代码一起使用时出现错误,javascript,jquery,html,tabs,Javascript,Jquery,Html,Tabs,我正在建立一个简单的网站,在这个网站上我可以创建图表并使用一些算法。有可能会有很多算法,所以我必须考虑如何输出这么多数据 我有一些html代码,一些字段集、输入、按钮等,用于设置图形的一部分,同样用于算法的一部分 我把不同的部分分成了不同的选项卡 在我设置图形的第一个选项卡上,我必须使用jQuery获取输入值,阻止/取消阻止某些字段等,在另一个选项卡上,我现在有简单的文本 问题是:当我刚刚加载页面时,所有选项卡都正常工作。当我单击不同的选项卡时,div中的数据正在变化。但若我,首先,尝试创建一些

我正在建立一个简单的网站,在这个网站上我可以创建图表并使用一些算法。有可能会有很多算法,所以我必须考虑如何输出这么多数据

我有一些html代码,一些字段集、输入、按钮等,用于设置图形的一部分,同样用于算法的一部分

我把不同的部分分成了不同的选项卡

在我设置图形的第一个选项卡上,我必须使用jQuery获取输入值,阻止/取消阻止某些字段等,在另一个选项卡上,我现在有简单的文本

问题是:当我刚刚加载页面时,所有选项卡都正常工作。当我单击不同的选项卡时,div中的数据正在变化。但若我,首先,尝试创建一些顶点或边,或者用graph做任何事情,然后我将尝试激活另一个选项卡,错误就会出现。请看图片:

它说:

TypeError: elem.nodeName.toLowerCase is not a function

var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];
指jquery-1.10.2.js文件中的3378行

请注意,如果我在第一个选项卡上什么也没做,就没有尝试管理顶点/边/等等,按任何选项卡都可以正常工作

这不是我的错。看起来是兼容性错误。我不明白。你能帮我澄清一下吗?什么会导致此错误以及如何删除它?多谢各位

这是我的html代码的开头部分:

<!-- for tabs -->
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<!-- for graph dracula framework -->
<script type="text/javascript" src="js/raphael-min.js"></script>
<script type="text/javascript" src="js/dracula_graffle.js"></script>
<script type="text/javascript" src="js/dracula_graph.js"></script>

<!-- my files -->
<script type="text/javascript" src="settings.js"></script>
<script type="text/javascript" src="algorithms.js"></script>

 <script>
$(function() {
    $( "#tabs" ).tabs();
});
</script>

如果我重写jquery脚本中3378行左右的部分代码,它将工作得很好。重写的acceptData方法:

若我们在那个里处理错误,所有的工作都很好。这是一个非常肮脏的解决方案,但它只是实验室工作,所以我不在乎:我希望这个答案能帮助别人

// A method for determining if a DOM node can handle the data expando
acceptData: function( elem ) {
    if ( elem.nodeName ) {
        var match = false;
        if (typeof elem.nodeName.toLowerCase != 'undefined')
            match = jQuery.noData[ elem.nodeName.toLowerCase() ];

        if ( match ) {
            return !(match === true || elem.getAttribute("classid") !== match);
        }
    }

    return true;
}