将逗号或空格插入jQuery的.text()返回值的长输出中

use*_*671 1 jquery

我正在尝试制作一个书签,将带有作者类的所有链接的文本吐出来。到目前为止,我有这个:

/// Stuff to load jQuery into the bookmarklet
    var authors = $(".author");var names = authors.text();alert(names);
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,它会返回一堆笨拙的清单,

JohnDoeMaryDoeEddieDoe
Run Code Online (Sandbox Code Playgroud)

我需要在每个作者姓名的末尾添加一个逗号或空格,但是我不确定该怎么做。

$(".author"); + ",";
Run Code Online (Sandbox Code Playgroud)

只需在整个字符串的末尾添加一个逗号,而不是单个作者/名称,就像这样:

authors.text() + ","
Run Code Online (Sandbox Code Playgroud)

反正我能做到吗?

And*_*ker 5

问题是您正在检索与选择器匹配的每个元素的内容。根据文档.text

.text()方法的结果是一个字符串,其中包含所有匹配元素的组合文本

您可以使用遍历每个元素.map,检索元素的文本,然后使用.join

var names = $(".author").map(function () {
    return $(this).text();
}).get().join(", ");
Run Code Online (Sandbox Code Playgroud)

示例: http //jsfiddle.net/E3ba9/