如何在数组的每个项目前添加文本?

时间:2013-04-12 10:06:28

标签: javascript jquery arrays

我有这段代码遍历包含类“menu-item-li”的所有元素,并将其href标记的值放入数组中。这是执行此操作的代码:

var arr = new Array();
$(".menu-item-li").each(function() {
    arr.push($(this).attr("href"));
});

这些会返回如下内容:

  • link1.html
  • link2.html
  • link3.html
  • ......等等

现在我想要做的是,在数组中的每个项目前放置一些文本。假设我想在每个项目前加上“website /”。结果应该是这样的:

  • 网站/ link1.html
  • 网站/ link2.html
  • 网站/ link3.html
  • ......等等

如何编辑我的Javascript代码,以便我可以将“website /”添加到数组内每个项目的前面?

谢谢!

4 个答案:

答案 0 :(得分:3)

arr.push('website/' + $(this).attr("href"));,但您也可以使用.map方法。

var arr = $(".menu-item-li").map(function() {
    return 'website/' + $(this).attr("href");
});

答案 1 :(得分:1)

var arr = new Array();
$(".menu-item-li").each(function() {
    var str = "website/"+$(this).attr("href");
    arr.push(str);
});

答案 2 :(得分:1)

如果数组包含<a>个元素的列表 - 我假设尽管有类名,因为你使用的是href属性 - 那么它只是:

var arr = $(".menu-item-li").map(function() {
    return "website/" + this.href;
});

你实际上不需要再次调用this上的jQuery并调用attr方法,这是浪费。

答案 3 :(得分:0)

使用此,

var arr = new Array();
$(".menu-item-li").each(function() {
    arr.push('website/' + $(this).attr("href"));
});