Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

replace commas with spaces from json array

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.

like image 740
Alex Avatar asked Dec 28 '22 13:12

Alex


1 Answers

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

like image 103
nickf Avatar answered Dec 31 '22 03:12

nickf