【问题标题】:Javascript cant append elements [closed]Javascript不能附加元素[关闭]
【发布时间】:2020-12-04 13:22:15
【问题描述】:

我正在从我的服务器获取一些数据,我想创建元素,但此代码不起作用,请帮助我


var filelist=['dummy1','dummy2','etc']
    
      filelist.forEach(file=>{
    
      var newli=document.createElement("li")
      var newa=document.createElement("a")
      newa.innerHTML=file
      newa.setAttribute('href',file)
      newli.append(newa)
      
      box.append(newli)
    
      })

请注意,该框是上述代码中的一个 div

【问题讨论】:

  • 考虑创建一个jsbin之类的并链接到它
  • 您可以在 Stack Overflow 上使用Stack Snippets(工具栏中的图标类似于<>)在此处创建一个可运行的示例。
  • 没有append方法;你想要appendChild
  • 代码不工作?你能分享任何错误日志吗?加上你是如何获得盒子元素的?
  • 打开你的开发者工具,阅读控制台中的错误信息。

标签: javascript html arrays append element


【解决方案1】:

给你,这是有效的。需要确保在执行任何 DOM 访问功能之前,必须准备好/加载前者。

const fileNameList = ['dummy1', 'dummy2', 'etc'];
    
const box = document.getElementById('box');

fileNameList.forEach(fileName => {

  const newLi = document.createElement("li");
  const newA = document.createElement("a");

  newA.innerHTML = fileName;
  newA.setAttribute('href', fileName);

  newLi.append(newA);
  box.appendChild(newLi);
});
<div id='box'>Your box</div>

【讨论】:

  • @Lonely 如果它有效,请接受答案,它在你和我以及 codepen 上也有效,所以你的朋友必须检查他/她有什么类型的环境。跨度>
  • 兄弟它现在可以工作我什至没有更改代码你能告诉我为什么它当时不工作而现在它没有做任何事情就可以工作我真的想知道如果一切都很好那么为什么它没有工作我甚至多次刷新页面并重新启动笔记本电脑请告诉我
  • 对我来说,它从第一次尝试就可以工作,真的我猜不出你那边出了什么问题以及为什么它不工作可能是在代码执行后加载了 DOM,你知道我的猜测。但是现在让我们投票吧;)
  • 我想告诉你我的脚本工作正常,你也能解释一下我应该使用 append 还是 append child
猜你喜欢
  • 2019-06-28
  • 2015-02-16
  • 2021-12-16
  • 2015-10-02
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 2016-01-21
  • 1970-01-01
相关资源
最近更新 更多