Javascript对象之间的比较

Javascript对象之间的比较,javascript,jquery,Javascript,Jquery,我用jQuery为我的网站制作了一个简单的手风琴。。。它工作得很好,但我最近开始做一个改变,如果你点击当前打开的片段标题(可点击的向上/向下滑动区域),它应该会关闭当前部分 var sideMenu = { activated: {}, setup: function() { $('.menu-category-heading').bind('click', function() {

我用jQuery为我的网站制作了一个简单的手风琴。。。它工作得很好,但我最近开始做一个改变,如果你点击当前打开的片段标题(可点击的向上/向下滑动区域),它应该会关闭当前部分

var sideMenu = {
        activated: {},
        setup: function() {
        $('.menu-category-heading').bind('click', function() { 
                                                      sideMenu.slideMenu($('ul', $(this).parent()));
                                                      });

        }, 

        slideMenu: function(menuObj) {

            if (sideMenu.activated == menuObj) {

                $(sideMenu.activated).slideUp(400);
                sideMenu.activated = null;
                console.log('same');

            } else {

                $(sideMenu.activated).slideUp(400);
                menuObj.slideDown(500);
                sideMenu.activated = menuObj;
                console.log('new');
            }
        }


    }
出于某种原因,这种比较从来都不起作用。。。如果我添加$(menuObj).attr('id')并为activated添加相同的值,则会发生这种情况。但这并不理想,因为并非所有项目都具有id属性

有什么建议可以让对象比较起作用吗?还有其他的建议吗


谢谢大家!

您可能正在保存jQuery对象($call的结果),而不是本机元素。每次执行$(myEl)时,都会创建一个新对象,引用将不匹配,但本机元素将匹配。尝试:

if (slideMenu.activated[0] == menuObj[0]) {
    ...
}