我有一个循环函数创建:
<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})
});
如何用空格替换标记之间的逗号。 还有一种方法可以将标签发送到“class”属性而不是“name”。它似乎在Safari中不起作用。
答案 0 :(得分:10)
你可能想要的是:
$('<li >', {id: this.id , className : post.tags.join(' ')})
默认情况下,当您将数组转换为字符串时,它会与您看到的逗号连接。使用join()
将解决问题。
此外,class
是所有浏览器中的保留关键字(尽管有些人在使用它时不会抛出错误),因此您应该用于设置类的属性是叫className
答案 1 :(得分:1)
试试这个:
$.each(data.posts, function(i, post){
$('<li >', {id: this.id , name: post.tags.join(' ')});
});
答案 2 :(得分:0)
$.each(data.posts, function(i, post) {
$('<li >', {id: this.id , name: post.tags.replace(/[,]/g, ' ')})
});
答案 3 :(得分:-1)
使用替换字符串方法(如其他回复中所述)替换逗号。
对于课程,请按以下方式添加:
$('<li >', {id: this.id }).addClass(post.tags.join(' '));