I am fetching a list of messages from some JSON and appending each message as an LI within a UL. I have created the message template within jQuery to append each message to the document. My code works well but I can't help but feel it could be improved (I am a beginner JS programmer). From what I have seen online moving the templating to handlebars.js would be a better solution but I can't be sure.
$(document).ready(function() {
var broadcastMessagesJsonURL = "https://api.myjson.com/bins/sadap";
$.getJSON(broadcastMessagesJsonURL, function(data) {
$.each(data.broadcastMessages, function(i, item) {
//All items from the json
var broadcastMessageID = (item.ID);
var checkBroadcastMessageRead = (item.read ? " broadcast__message__read__state--unread" : "");
var broadcastMessageSubject = (item.subject);
var broadcastMessageGroup = (item.group);
var broadcastMessageDateSent = (item.dateSent);
var checkBroadcastFeatureImage = (item.featureImage ? " broadcast__message__image--active" : "");
var checkBroadcastForm = (item.form ? " broadcast__message__form--active" : "");
var checkBroadcastAttachments = (item.attachments ? " broadcast__message__attachment--active" : "");
var broadcastMessageContent = (item.content);
var broadcastMessageTemplate = ('<li class="broadcast__message__list__item" data-broadcast-message-ID="' + broadcastMessageID + '"> \
<div class="broadcast__message__wrapper"> \
<div class="broadcast__message__read__state' + checkBroadcastMessageRead + '"></div> \
<div class="broadcast__message__subject">' + broadcastMessageSubject + '</div> \
<div class="broadcast__message__group">' + broadcastMessageGroup + '</div> \
<div class="broadcast__message__date__time__stamp" title="' + broadcastMessageDateSent + '">' + broadcastMessageDateSent + '</div> \
<div class="broadcast__message__snippet">' + broadcastMessageContent + '</div> \
</div> \
</li>');
$(".broadcast__messages__list").append(broadcastMessageTemplate);
});
}).fail(function() {
console.log("broadcastMessages json cannot be loaded");
});
});