オブジェクトに保持されている値の配列からテキストアイテムをリストに追加しようとしています。リスト内のアイテムにテキストコンテンツを追加するときに 'appendChild'エラーを実行できません
私のJSはこのようになります -
var MiFiveLog = function(person) {
var ul = document.querySelector('.logged-interactions-list');
for (i = 0; i < person.loggedMessages.length; i++) {
var li = document.createElement('li');
var textNode = document.createTextNode(person.loggedMessages[i]);
ul.appendChild(textNode);
}
}
人のコンストラクタ -
Person = function(name) {
this.name = name,
this.loggedMessages = []
}
は十分に簡単に見えますが、スクリプトは私に次のコンソールエラー
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
少し混乱を与えています - 助けていただければ幸いです。
おかげで、
は私たちに関連するすべてのコードを表示してください。 「人」とは何ですか?さらに重要なのは、 'person.loggedMessages [i]'は、明らかに 'node'ではないので、それが追加できないからです。あなたが得ているエラーを生成する実際の例を示すのに十分なコードを追加してください。 –
なぜあなたは 'li'要素を作り、何もしませんか? –
また、最初に 'textNode'を' li'に追加し、 'li'を' ul'に追加する必要があります。さらに、新しい 'textNode'を明示的に作成する必要もありません。 'li.textContent = person.loggedMessages [i]'と書くだけです。 –