使用JQuery返回每个span的文本

时间:2009-12-20 17:26:24

标签: javascript jquery

我能够获得具有属性dir ='somevalue'的所有跨度列表,并使用以下jquery语句

$("span[dir='somevalue']")

我想要每个范围的文本,例如<span dir='somevalue'> text </span>,我需要值'text',并且我想要前一个语句返回的每个范围。 有什么方法可以使用Jquery吗?

谢谢

3 个答案:

答案 0 :(得分:7)

我认为使用Traversing/map是个好例子:

var values = $("span[dir='somevalue']").map(function(){
  return $(this).text();
}).get();

values变量现在是Array,它在每个数组元素上包含由您的选择器匹配的每个span的内部文本。

如果要连接字符串中的所有值,可以使用Array.prototype.join

var allValues = values.join(" "); // using a space as separator between values

答案 1 :(得分:1)

$("span[dir='somevalue']").text()

将为您提供所有文本的串联。如果你想要一个数组并使用Javascript 1.8,你可以使用

$("span[dir='somevalue']")
    .get()
        .reduce(function (a,b) { return a.concat([$(b).text()]); }, [])

答案 2 :(得分:0)

var values = [];
$("span[dir='somevalue']").each(function(){
    values.push($this.text());
});

有点无聊但很容易理解。