我有这段代码遍历包含类“menu-item-li”的所有元素,并将其href标记的值放入数组中。这是执行此操作的代码:
var arr = new Array();
$(".menu-item-li").each(function() {
arr.push($(this).attr("href"));
});
这些会返回如下内容:
现在我想要做的是,在数组中的每个项目前放置一些文本。假设我想在每个项目前加上“website /”。结果应该是这样的:
如何编辑我的Javascript代码,以便我可以将“website /”添加到数组内每个项目的前面?
谢谢!
答案 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"));
});