将数组与dom元素进行比较检查相同的ID

时间:2014-11-13 21:28:47

标签: javascript jquery html arrays

我正在尝试比较2个数组,以检查数组中是否存在与ul中的元素相同的id,我将它们与它进行比较。

我正在减少一些传入数据(在ajax调用成功的情况下)到一个像这样的ID数组

   var storeLibIds = data.libraries( function(obj){
            return obj.id;
    });

然后,我想将该数组与dom上的某些li进行比较,如果两者中存在id,请选中元素内的复选框

所以我试着像这样循环使用li

$.each(".lessonList li"), function(){

    //if $(this).attr("id") exists in storeLibIds, then $(this).find(".otherLibCheck").prop("checked", true); then check off the checkbox inside

        });

所以我的基本想法是循环通过li并检查他们的arrt(“id”)vs数组,如果它存在,请勾选方框。我遇到的问题是我不确定是否要遍历所有这些问题,或者是否有办法使用.filter检查是否存在以检查复选框。我无法理解这种逻辑,任何帮助都会受到赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

一种方法是使用storeLibIds.indexOf(id)检查数组中是否存在id

$.each($(".lessonList li"), function(idx,obj){
      if (storeLibIds.indexOf(obj.attr("id")) != -1) {
           ...
});