-6

我正在制作一个这样的文本字符串数组:

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

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

4

4 回答 4

3

phone,就目前而言,它包含一个 jQuery 对象,它是一个 DOM 元素的类数组对象。如果您想遍历所有这些并获取它们的内部文本,应用于.substring(8)每个,并从中构建一个数组,您可以使用如下内容:

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

演示:http: //jsfiddle.net/96HWv/

(在演示中,我必须模拟data可能的情况,尽管我猜它是您真实代码中的 HTML 字符串)

于 2013-08-14T20:07:32.657 回答
3

您可以使用 map() 方法:

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

小提琴

于 2013-08-14T20:02:24.060 回答
2

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

$(data).find('.tel a').each(function() {
    $(this).text(function(index,text) {
      return text+"substring(8)";
    });
});
于 2013-08-14T20:00:06.750 回答
-1

您可以让 jQuery 为您完成工作。

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

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

于 2013-08-14T19:59:28.093 回答