サラリーマン夜の勉強 JavaScript DOM操作

JavaScript DOM操作

演習:DOM操作で悩んだ所

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>演習:DOM</title>
  </head>
  <body>
    <ul id="lists">
    </ul>
    <input type="text" id="newList">
    <input type="button" value="追加" onclick="append()">
    <script src="js/exercise.js"></script>
  </body>
</html>
function append() {
  // inputから入力内容を取得
  var newList = document.getElementById("newList").value;
  // li要素を作成
  var li = document.createElement("li");
  // liタグの要素に、テキストノード text を追加
  li.appendChild(text);
  // idgalistsのulタグに、liを追加
  lists.appendChild(li);

コンソールに出力して変数の中身をみても問題なさそうだったので、最初はこれでなぜできないのかと悩んでしまいました。
結構な時間調べましたがわからず解答をみたところ、問題点はnewListがテキストノードになっていないことが原因でした。
ノードをDOMツリーに追加するappendChildは考えれば当然ですが、ノード以外のものを追加しようとするとエラーになりますね。