【问题标题】:remove by ID passed from array jquery or JS or underscore按从数组 jquery 或 JS 或下划线传递的 ID 删除
【发布时间】:2012-12-21 16:55:28
【问题描述】:

我的 ID 存储在数组中,我需要从我的页面中删除关联的 ID。我感到困惑的部分是传递变量以了解要删除的 ID 我希望我是相当接近正确的。

$.each(diff, function () {
            $('ul#jdl li').remove();
        });

"diff" 是包含 ID 的数组

【问题讨论】:

    标签: jquery arrays dom


    【解决方案1】:

    如果我正确理解您的问题,这应该对您有用:

    $.each(diff, function (index, value) {
            $('ul#jdl li#' + value).remove();
        });
    

    【讨论】:

    • 如果你有一个对象的ID,就不需要$('#ID1 #ID2')了,别忘了ID是唯一的,所以只需简单的调用$('#ID2' )
    • 同意,只是因为选择器已经在那里,我认为它可能没有应有的独特性:-)
    【解决方案2】:

    如果您的数组如下所示,我建议您循环遍历它。

    var idarray = ["id1","id2","id3"];
    
    for (var i=0;i<idarray.length;i++)
    {
     $("#"+idarray[i]).remove();
    }
    

    你可以在这里看到一个工作示例http://jsfiddle.net/h6vGz/

    【讨论】:

      【解决方案3】:
      $.each(diff, function (index, value) {
          $("#" + value).remove();
      });
      

      由于您使用的是 ID,因此您无需在选择器中包含 UL 部分。 $("#something").remove() 总是足够的。

      此外,您无需在 ID 之前添加标记名,例如ul#jdl。只使用#jdl 更快更短。

      【讨论】:

      • 这样我会修改
      【解决方案4】:

      试试这个...

      for (i=0; i < diff.length; i++) {
          $("#" + diff[i]).remove();
      }
      

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        • 2021-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多