1

私は、著者のクラスを持つすべてのリンクのテキストを吐き出すブックマークレットを作成しようとしています。これまでのところ、私はこれを持っています:

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

唯一の問題は、それが blabber の長いリストを返すことです。

JohnDoeMaryDoeEddieDoe

各著者名の末尾にコンマまたはスペースを追加する必要がありますが、その方法がわかりません。

$(".author"); + ",";

文字列全体の末尾にコンマを追加するだけで、個々の著者/名前ではなく、次のようになります。

authors.text() + ","

とにかく私はこれを行うことができますか?

4

1 に答える 1

5

The problem is that you are retrieving the content of every element that matches your selector. According to the documentation for .text:

The result of the .text() method is a string containing the combined text of all matched elements.

You could loop over each element with .map, retrieve the element's text, and then join the resulting array with .join:

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

Example: http://jsfiddle.net/E3ba9/

于 2012-06-01T01:20:39.390 に答える