mapって返してくるのはjQueryオブジェクトだったんですね・・・。
1 2 3 4 5 |
jQuery(function($){ var nameArray = $('input[name^="q1"]').map(function(){ return $(this).attr("name"); }); }); |
console.log()でnameArrayをみるとよく分かります。
つまり、配列ではないこのnameArrayにjoin()とかは使えないわけです。
意図した通りの値を得るには以下のようにします。
1 2 3 4 5 |
jQuery(function($){ var nameArray = $('input[name^="q1"]').map(function(){ return $(this).attr("name"); }).get(); }); |
get()はjQueryオブジェクトを配列に変換します。