2

有没有办法将以下 jQuery 方法转换为纯 javascript?

var myProps = 
$(".interp").map(function () {
return this.id; 
}).get();

我不知道每次会有多少对象可用。地图中可能有 3、15、20 等对象。

4

1 回答 1

6

纯 JavaScript 也包含一个.map方法,它已打开,Array因此您需要在一般使用的NodeList返回上使用它:querySelectorAll.call

var myProps =  Array.prototype.map.call(document.querySelectorAll(".interp"),function (el) {
    return el.id; 
});

或者,您可以将 转换NodeList为数组并使用更紧凑的语法。

function query(selector){
    return Array.prototype.slice.call(document.querySelectorAll(selector),0);
}

这会让你做:

query(".interp").map(function(el){
    return el.id;
}
于 2013-09-14T15:03:53.577 回答