如何将子串应用于数组中的每个字母?

时间:2013-08-14 19:56:52

标签: javascript jquery

我正在制作一系列这样的文本字符串:

phone = $(data).find('.tel a')

我想将子串(8)应用于名为phone的数组中的每个项目。 for循环是最好的方法吗?

4 个答案:

答案 0 :(得分:3)

您可以使用map()方法:

phone = phone.get().map(function(e) { return $(e).text().substring(8) });

FIDDLE

答案 1 :(得分:3)

目前,

phone包含一个jQuery对象,它是一个类似于DOM的DOM元素对象。如果您想迭代所有这些并获得内部文本,将.substring(8)应用于每个文档,并从中构建数组,则可以使用以下内容:

var phoneArray = $(data).find(".tel a").map(function (i, el) {
    return $(el).text().substring(8);
}).get();

DEMO: http://jsfiddle.net/96HWv/

(在演示中,我必须模仿data可能是什么,虽然我猜它是真实代码中的HTML字符串)

答案 2 :(得分:2)

您可以使用.each()函数......类似于:

$(data).find('.tel a').each(function() {
    $(this).text(function(index,text) {
      return text+"substring(8)";
    });
});

答案 3 :(得分:-1)

你可以让jQuery为你工作。

$(data).find('.tel a').addClass('substring');

jQuery将遍历返回的元素数组,并将类添加到所有元素中。