javascript - How to append unique spans to a table in jQuery? -
i have quick question, because brain refuses think evening.
html
<table> </table> <span>2010</span> <span>2009</span> <span>2009</span> <span>2009</span> <span>2008</span> <span>2008</span> <span>2007</span>
jquery
$('span').each(function() { $("table").append("<tr><td>"+$(span).text()+"</span>)</td></tr>"; });
desired output
<table> <tr><td>2010</td></tr> <tr><td>2009</td></tr> <tr><td>2008</td></tr> <tr><td>2007</td></tr>
the idea is, want display year not duplicated.
i hope understood me.
you can't inline string replacement that.
you need concatenate using javascript's (stupidly dual purpose) +
operator.
you can't access span
that. use this
, jquery sets current element being iterated. wrap in $()
use jquery on again.
to remove original, call remove()
on $(this)
.
var yearsused = []; $('span').each(function() { var text = $(this).text(); if ($.inarray(text, yearsused) === -1) { $('table').append('<tr><td>' + text + '</span>)</td></tr>'); yearsused.push(text); } $(this).remove(); });
you should pick 1 string delimiter , stick - here chose single quotes ('
).
Comments
Post a Comment