如何使用#登录javascript比较对象

如何使用#登录javascript比较对象,javascript,object,comparison,comparison-operators,Javascript,Object,Comparison,Comparison Operators,我正在使用功能测试(a,b);我给它两个对象。这些对象对应于我的网页上带有ID的一些div元素 调用函数时: if (hitTest($('#drawer'),$('#hit'+i))) { //do something... } 这就是函数本身 function hitTest(a, b) { if( $(b) == $('#hit5') ){ console.log("hit 5"); } else if( $(b) == $('#hi

我正在使用功能测试(a,b);我给它两个对象。这些对象对应于我的网页上带有ID的一些div元素

调用函数时:

if (hitTest($('#drawer'),$('#hit'+i)))

 {
  //do something...

}
这就是函数本身

function hitTest(a, b) {
    if( $(b) == $('#hit5')   ){
        console.log("hit 5");
    }
    else if( $(b) == $('#hit4')   ){
        console.log("hit 4");
    }

    else if( $(b) == $('#hit6')   ){
        console.log("hit 6");
    }
问题是,if子句都不起作用!如何比较两个对象或其类型?

请尝试以下方法:

function hitTest(a, b) {
    if( $(b)[0] === $('#hit5')[0]   ){
        console.log("hit 5");
    }
    else if( $(b)[0] === $('#hit4')[0]   ){
        console.log("hit 4");
    }

    else if( $(b)[0] === $('#hit6')[0]   ){
        console.log("hit 6");
    }
jQuery对象本身始终是独立的对象,因此 查看每个jQuery中实际DOM数组的内容 反对

参考资料:

if($(b).is($('hit5')){
控制台日志(“命中5”);
}

您真的需要比较元素吗?你能比较一下选择器吗

if (hitTest('#drawer', '#hit'+i))

 {
  //do something...

}



function hitTest(a, b) {
    if( b === '#hit5') {
        console.log("hit 5");
    }
    else if( b === '#hit4') {
        console.log("hit 4");
    }
    else if( b === '#hit6') {
        console.log("hit 6");
    }
}

.是来自jquery吗?因此,我必须在代码中插入jquery才能使用“.is”?是的,您可以使用.is,因为您正在使用jquery插件。您已经在代码片段中使用了jquery,就像它看起来的那样。