用javascript重复html元素

xen*_*urs 6 html javascript jquery

我想在我的bootstrap中重复我的面板元素,for loopmysubject在我的面板标题中显示我的变量.

例如.如果我的data.tickets.length == 4i应该有4个面板元素,每个面板都有不同的标题.你能帮助我吗?我不知道如何重复我的面板元素.到目前为止,我只是设置了标题.

这是我的代码:

HTML

<div class="col-xs-3 panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title"></h3>
  </div>
  <div class="panel-body">
    Panel content
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

function displaytickets(){
    var y = document.getElementById("mySecond").value;

    $.ajax({
      url: "https://cubber.zendesk.com/api/v2/users/"+y+"/tickets/requested.json",
      type: 'GET',
      dataType: 'json',
      contentType:'application/json',
      secure: true,
      beforeSend: function (xhr) {
          xhr.setRequestHeader("Authorization", "Basic " + btoa("claire.pagniez@cubber.com:"));
      },
      success: function (data) {
          console.log(data.tickets.length);
          for (i = 0; i < data.tickets.length; i++) {
              console.log(data.tickets[i]);

              console.log(data.tickets[i].description);
              console.log(data.tickets[i].status);
              console.log(data.tickets[i].subject);
              var mysubject = data.tickets[i].subject;

              $(".panel-title").append('<h3>'+mysubject+'</h3>');
          }
      },
  });
}
Run Code Online (Sandbox Code Playgroud)

Yur*_*uri 2

您可以使用 .clone(),并且可以直接从 jQuery 创建面板,如下所示:

var $panel = $('<div/>').addClass('col-xs-3 panel panel-default');
$panel.append($('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading'));
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('body').append($panel);
Run Code Online (Sandbox Code Playgroud)

或者你可以clone()像这样的现有元素:

var $panel = $('#my-panel').clone();
Run Code Online (Sandbox Code Playgroud)

然后再次克隆它以获得每个新面板。在你的 .ajax() 调用中:

for (i = 0; i < data.tickets.length; i++) {
    var new_panel = $panel.clone(); // note the use of .clone()
    new_panel.find('.panel-title').text(data.tickets[i].subject);
    new_panel.find('.panel-body').text(data.tickets[i].description);
    $('body').append(new_panel);
}
Run Code Online (Sandbox Code Playgroud)

在这里摆弄