getElementsByTagNameと同様な動作をする関数を作ろうと思い、以下のようなコードを書いて、返り値を別関数でフィルタリングしようと考えました。がこのリストの通りでは結果が配列の入れ子になってしまうことに気が付きました。
そこで8行目をコメント文にして9行目と入れ替えてみましたがうまく動作しませんでした。
どのようにすればうまく動作するのでしょうか?
追記、2行目はresult.concat(e)ではなくresult.push(e)の間違いです
lang-<javascript> 1 function allElementsGet(e){ 2 var result=[]; 3 result.concat(e); 4 var children=e.childNodes; 5 for(var i=0;i<children.length;i++){ 6 if(children[i].nodeType==1){ 7 var add=allElementsGet(children[i]); 8 result.push(add); 9 // result.concat(add); 10 11 } 12 } 13 return result; 14 15 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/23 07:34