2

次の jQuery メソッドを純粋な JavaScript に変換する方法はありますか?

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

毎回いくつのオブジェクトが利用可能になるかわかりません。マップには、3、15、20 などのオブジェクトが存在する場合があります。

4

1 に答える 1

6

純粋な JavaScript にも.mapメソッドが含まれています。これはオンになっているため、一般的な usingから返されArrayたもので使用する必要があります。NodeListquerySelectorAll.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 に答える