Это сработало для меня
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<style>
</style>
<body>
// div here
</body>
<script type="text/javascript">
function displaytickets() {
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);
// let's assume your ajax returns 4 tickets
var data = {
'tickets' : [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
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);
}
}
displaytickets();
</script>
</html>
, но я хочу извлечь html-элементы из кода, чтобы я мог их свободно редактировать и затем вызывать с идентификатором или другим способом.
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<style>
.panel {
background-color: red;
border-radius: none;
}
.heading {
background-color: purple;
width: 100%;
}
.panel-body {
background-color: green;
}
</style>
<body>
<div id="container" class="panel">
<div id="header" class="heading"><h3 class="panel-title">Title</h3></div>
<div id="content" class="panel-body">Panel content</div>
<script type="text/javascript">
function displaytickets() {
var $panel = $('container')
$panel.append($('header'));
$panel.append($('content'));
$('body').append(($panel));
// let's assume your ajax returns 4 tickets
var data = {
'tickets': [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
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);
}
}
displaytickets();
</script>
</body>
</html>