Javascript 如何将活动元素与存储在数据中的元素进行比较?
我有一系列的div:Javascript 如何将活动元素与存储在数据中的元素进行比较?,javascript,jquery,testing,Javascript,Jquery,Testing,我有一系列的div: <div class="some_class active">Some Content</div> <div class="some_class">Different Content</div> <div class="some_class">More Different Content</div> 其目的是将一类active添加到图像中,该图像包含与具有活动类的图像相同的div.some_元素,但该
<div class="some_class active">Some Content</div>
<div class="some_class">Different Content</div>
<div class="some_class">More Different Content</div>
其目的是将一类
active
添加到图像中,该图像包含与具有活动类的图像相同的div.some_元素,但该函数始终返回false,从未找到匹配项。我很确定我错过了一个基本点,但是什么呢?还有其他方法吗?您正在比较两个jquery对象。这些对象永远不会是相同的。您要比较的是jquery对象中的元素。假设两者都只能有一个元素,请执行以下操作:
if ($(this).data('project')[0] == active[0]){
编辑:
虽然上面这些应该能回答你的问题,为什么不做与你现在做的相反的事情呢。与其将元素存储在图像上,不如将图像(或图像id)存储在元素上。然后,您可以轻松获取与给定元素相关的图像。如果可能的话,您希望避免循环。遗憾的是,在将其转换为有意义时,只是输入错误。真正的Id是不同的,而且准确
function live_test(){
active = $("div.some_class.active");
$("#images img.link").each(function(){
if ($(this).data('project') == active){
$(this).addClass("active");
}
});
}
if ($(this).data('project')[0] == active[0]){