将ID分配给从JSON文件动态创建的div

时间:2018-11-20 10:16:25

标签: javascript jquery html

我想将动态id属性分配给通过JavaScript附加的div。例如:

function x() {
    for (current_list = 0; current_list < data.length; current_list++) {
        $("#current").append(
            "<div class="card">" +
            "<a href="" + data[current_list].url + "">" + data[current_list].name + "</a>" +
            "</div>");
    }
}

将添加两张卡,因此我想给它们分配一个id,如果JSON中存在更多数量的数组,该数量会增加。

3 个答案:

答案 0 :(得分:1)

您可能正在寻找这个。

function x() {
  var container=$("#current");
  for(var i=1;i<10;i++)
  {
    var id="card"+i;
    var divHtml="<div class='"+id+"'>" +
      "<a href=""+data[current_list].url+"">"+data[current_list].name+"</a>" +
    "</div>"
    container.append(divHtml);
   }
}

答案 1 :(得分:0)

正如Rory所说的,这里是使用DOM遍历的解决方案。 您必须在添加“卡片”后调用此名称。

$(".card").each(function(value, index){
   $(value).attr("id", "card" + index);
});

答案 2 :(得分:0)

如果您一次调用x()函数,则可以使用

function x() {
  for (current_list = 0; current_list < data.length; current_list++) {
    $("#current").append('<div id="card-'+current_list+'" class="card"><a href="' + data[current_list].url + '">' + data[current_list].name + '</a></div>');
  }
}

如果您多次调用它,则可以在每次调用后使用此功能

$(".card").each(function(value, index){
  $(value).attr("id", "card-" + index);
});