I次のJavaScriptコードを持っている:javascript配列プッシュ問題
var objectArray = [];
var allInputObjects = [];
var allSelectObjects = [];
var allTextAreaObjects = [];
//following returns 3 objects
allInputObjects = document.getElementById("divPage0").getElementsByTagName("INPUT");
//following returns 1 object
allSelectObjects = document.getElementById("divPage1").getElementsByTagName("SELECT");
//following returns 0 objects
allTextAreaObjects = document.getElementById("divPage2").getElementsByTagName("TEXTAREA");
//and following statement does not work
objectArray = allInputObjects.concat(allSelectObjects);
をそして、私の問題は、最後の行がエラーを投げているということです。
Firefoxで上記のコードを試しましたが、allInputObjects.concat
は機能ではありません。
私はスクリプトがallInputObjectsを配列として扱っていないと信じています!
ご協力いただければ幸いです。
+1には問題の実際の解決策が含まれています( 'NodeList'を配列に戻す変換)。 –
ネイティブECMAScript関数に渡されたときにホストオブジェクトが動作することは期待できません。この場合、IE <9(少なくとも)は失敗します。 – RobG
@RobG:本当ですか?私はjQueryも '.toArray'関数でこの関数を利用していると思います。 – pimvdb