はじめに
今回の問題は
let element = document.getElementsByClassName('profile-content');
このようにクラス属性で取得したデータの中から、spanタグの箇所のみを入手しようとして
let element = document.getElementsByClassName('profile-content');//さっきのコード
let profilespan = element.getElementsByTagName('span');
と書いたところ、下のelement.getElementsByTagNameがnot a function(関数じゃない)と怒られたことです。
原因としてはおそらく、上のクラスで取得したデータ型がHTMLCollectionであり、それに対してgetElementsメソッドが利用できないためです。どうすればよいかというと
let element = document.getElementById('id名');//elements(複数形)じゃないよ
let profilespan = element.getElementsByTagName('span');
とするのが正しいようです。クラスではなくidで取得しようとのことでした。
なんだか不便な気もしますが、これで一応解決です。どなたかの助けになれば幸いです。
まとめ
idで取得する getElementById => Elementオブジェクトで取得取得
タグで取得する getElementsByTagName => HTMLCollectionオブジェクトで取得
クラスで取得する getElementsByClassName => HTMLCollectionオブジェクトで取得
.elementsメソッドは上記のうちElementオブジェクトにのみ適用可能。