Есть несколько способов сделать это, включая (но не ограничиваясь):
// one big string
$('<a href="#"><span class="play"></span><span class="trackName">Track Name</span></a>')
// create <a> then append() the span
$('<a></a>').attr("href","#")
.append('<span class="play"></span><span class="trackName">Track Name</span>');
// create <a> then set all of its contents with html()
$('<a></a>').attr("href","#")
.html('<span class="play"></span><span class="trackName">Track Name</span>');
// append spans created earlier:
var spans = $('<span class="play"></span><span class="trackName">Track Name</span>');
var a = $('<a></a>').append(spans);
Обратите внимание, что .html()
заменяет любое существующее содержимое, а .append()
добавляет в конец. Итак, учитывая, что в вашем примере у вас есть два элемента span, вы можете создавать их независимо и добавлять их по одному:
$('<a href="#"></a>').append('<span class="play"></span>')
.append('<span class="trackName">Track Name</span>');