I have a looping function creating:
<li id="id1" name="Tag1,Tag2,Tag3">
<li id="id2" name="Tag1,Tag2,Tag3">
$.each(data.posts, function(i, post){
$('<li >', {id: this.id , name: post.tags})
});
How do I replace the commas between the tags with spaces. Also is there a way I can send the tags to a "class" attribute instead of "name". It seems to not work in Safari.
What you probably want is this:
$('<li >', {id: this.id , className : post.tags.join(' ')})
By default, when you cast an array to a string, it get concatenated with commas as you have seen. Using join()
will solve the problem.
Also, class
is a reserved keyword in all browsers (though some won't throw an error if you use it), so the attribute you should use for setting the class is called className
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With