【问题标题】:Dynamic ID generation动态 ID 生成
【发布时间】:2018-09-12 09:21:08
【问题描述】:

在 AEM 中,我添加了一个具有相同 id 的下拉组件,所以我确实喜欢使用 JQuery 的动态 id,但最后一个递增的值被分配给所有 id。

var count=0;

$(".tab").each(function(count) { 
    $("select.tab-select").attr("id","tab-select"+count);

    count++;
});

【问题讨论】:

  • 请改用let count=0;。此外,您的函数不带任何参数。

标签: jquery aem


【解决方案1】:

这里不需要each() 循环。您可以改为向prop() 提供一个函数,该函数接受当前元素的索引,然后返回要设置的新值,如下所示:

$("select.tab-select").prop("id", function(i) {
  return 'tab-select' + i;
});

【讨论】:

    【解决方案2】:

    你需要使用this关键字like:

    $(".tab").each(function(index) {
        $("select.tab-select", this).attr("id","tab-select"+index);
    });
    

    注意:您不需要增加计数变量,因为each() 函数已经将增加的值作为索引返回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多