为了账号安全,请及时绑定邮箱和手机立即绑定

使用 window.prompt() 通过 JavaScript 添加列表项

使用 window.prompt() 通过 JavaScript 添加列表项

偶然的你 2022-07-21 10:28:15
我正在尝试根据用户在 window.prompt() 中输入的内容添加有序列表项。这可能吗?下面是我的代码。抱歉,如果这很混乱,我对此很陌生。任何帮助表示赞赏! <!DOCTYPE = html> <head> <script type = "text/javascript">    var test = document.getElementById('list');    var item1 = window.prompt("Enter first item:");      if (item1 != null) {        function listAdd() {          var entry = document.createElement('li');          entry.appendChild(document.createTextNode(item1));          list.appendChild(entry);        }    }    var item2 = window.prompt("Enter second item");      if (item2 != null) {        function listAdd() {          var entry = document.createElement('li');          entry.appendChild(document.createTextNode(item2));          list.appendChild(entry);        }      }    </script> </head>  <body>  <strong>Your two items:</strong>    <ol id="list">    </ol> </body>
查看完整描述

3 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我修复的事情:摆脱函数listAdd并将代码直接移动到if子句中,重命名test为list(错误命名的变量),并将脚本移动到正文中,以便在运行时存在 html 节点。


 <!DOCTYPE = html>

 <head>


 </head>

 

 <body>

  <strong>Your two items:</strong>

    <ol id="list">

    </ol>

 <script type = "text/javascript">

    var list = document.getElementById('list');

    var item1 = window.prompt("Enter first item:");

      if (item1 != null) {

          var entry = document.createElement('li');

          entry.appendChild(document.createTextNode(item1));

          list.appendChild(entry);       

    }


    var item2 = window.prompt("Enter second item");

      if (item2 != null) {

          var entry = document.createElement('li');

          entry.appendChild(document.createTextNode(item2));

          list.appendChild(entry);

      }  

  </script>

 </body>

您的代码将函数包装在 if 中。这是不对的——你是在那儿声明函数,而不是运行它。结果是什么都没有发生。您可以通过先声明函数来稍微改进代码listAdd,然后在每次提示后调用它,并从提示中传递参数。



查看完整回答
反对 回复 2022-07-21
?
茅侃侃

TA贡献1842条经验 获得超21个赞

您可以尝试删除该函数并错误地设置list.appendChild(entry)而不是test.appendChild(entry)因为我们调用了有序列表项 id 并将其设置为test变量。


<!DOCTYPE=html>


<body>

  <strong>Your two items:</strong>

  <ol id="list" >

  </ol>

  <script type = "text/javascript">

      var test = document.getElementById('list');

   var item1 = window.prompt("Enter first item:");

    var item2 = window.prompt("Enter second item");


     if (item1 != null ) {

          var entry = document.createElement('li');

          entry.appendChild(document.createTextNode(item1));

          test.appendChild(entry);

   }

     if (item2 != null ) {

          var entry = document.createElement('li');

          entry.appendChild(document.createTextNode(item2));

          test.appendChild(entry);

   }



</script>

</body>


查看完整回答
反对 回复 2022-07-21
?
跃然一笑

TA贡献1826条经验 获得超6个赞

   var value1 = document.getElementById('list');

    var value1 = window.prompt("Enter first item:");

      if (value1 != null) {

        listAdd(value1);        

    }


    var value2 = window.prompt("Enter second item");

      if (value2 != null) {

        listAdd(value2);

      }

      

      

function listAdd(textValue) {

          var entry = document.createElement('li');

          entry.appendChild(document.createTextNode(textValue));

          list.appendChild(entry);

        }

<!DOCTYPE = html>

 <head>


 </head>

 

 <body>

  <strong>Your two items:</strong>

    <ol id="list">

    </ol>

 </body>

创建了一个通用函数来在列表中添加值:这也用于减少代码。



查看完整回答
反对 回复 2022-07-21
  • 3 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信