如何使用#登录javascript比较对象
我正在使用功能测试(a,b);我给它两个对象。这些对象对应于我的网页上带有ID的一些div元素 调用函数时:如何使用#登录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
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,就像它看起来的那样。