javascript DOMについて。

ベストアンサー

0

ThanksImg質問者からのお礼コメント

無事解決しました。ありがとうございました!

お礼日時:10/26 20:48

その他の回答(1件)

0

こんなところか。 map.callでNodeListをループさせ、undefinedをfilterで削除。 const getAnimals = function(obj) { return [].map.call(obj, function(elm) { if (elm.nodeType == Node.ELEMENT_NODE && elm.hasChildNodes()) { return elm.firstChild.data; } }).filter(v => v) }; const arr = getAnimals(B); console.log(arr); そもそも、getElementByIdでul要素を取得してから子要素を取るのではなく、querySelectorAllでli要素を取得した方がスマートです。 const A = document.querySelectorAll('ul#animals li'); const getAnimals = function(obj) { return [].map.call(obj, function(elm) { return elm.firstChild.data; }) }; const arr = getAnimals(A); console.log(arr);