У меня много сообщений и сырой HTML, который я жестко кодирую в своем коде JavaScript, например:
var subjectId = $(subject).attr('subjectId');
var subjectName = $(subject).attr('subjectName');
var html = "<table id='invitations' class='invitations' width='100%'><tbody>";
$(subject).find('group').each( function() {
var groupId = $(this).attr('groupId');
var groupName = $(this).attr('groupName');
var ownerId = $(this).attr('ownerId');
var owner = findStudentNameById( subjectId, ownerId );
html += "<tr>" +
"<td width='55px'><img src='images/gplg.png' /></td>" +
"<td>" + subjectId + " <span class='subjectName'>" + subjectName + '</span> <br /> ' + groupId +
" - <span class='group'>" + groupName + "</span><br /> Created By " + owner + "</td>" +
"</tr>" +
"<tr>" +
"<td width='55px'></td>" +
"<td><img class='accept' src='images/accept.png' />" +
"<img class='decline' src='images/decline.png' /> " +
"</td>" +
"</tr>";
});
html += "</tbody></table>";
return html;
или ...
$('#inviteform').submit( function (){
var invitesSent = false;
var html = '<h3>Invitations have been sent to the following people</h3><br /><ul>';
$('#inviteform').find('input:checkbox').each( function() {
if ( $(this).is(':checked')){
html += '<li>+ <a href="#">' + $(this).val() +'</a></li>';
invitesSent = true;
}
});
html += '</ul>';
if ( !invitesSent ){
html = '<h3>You did not select any invitees, no invitations have been sent.</h3>';
}
$('#content').hide().fadeOut(2000);
$('#content').html(html).slideDown("slow");
$('#slogan').html('Congratulations! Your group is now complete. ').fadeIn(2000);
return false;
});
Это потому, что у меня есть 2 основных области страницы (т.е. div заголовка и div контента), которые мне нужно изменить на лету. К сожалению, я не могу разделить этот контент на разные файлы.
Итак, есть ли лучшие практики для создания текста и элементов DOM для этих элементов вместо жесткого кодирования такого большого количества вещей.
Я ищу самое элегантное решение, поэтому у меня не так много сложного кодирования.
Спасибо