javascript没有';即使在小提琴上也不行,更不用说浏览器了

javascript没有';即使在小提琴上也不行,更不用说浏览器了,javascript,html,Javascript,Html,这是我的代码,一个简单的播放列表生成器。但是javascript根本不工作,就好像它不在那里一样。 我尝试在没有任何本地主机的情况下在浏览器中正常运行代码。但我了解到,在没有本地主机的情况下运行javascript可能会导致问题,所以我尝试在fiddle中运行,但在那里也不起作用 任何帮助都将受到高度重视。 谢谢 window.onload=inti; 函数init(){ var button=document.getElementById(“addButton”); button.oncl

这是我的代码,一个简单的播放列表生成器。但是javascript根本不工作,就好像它不在那里一样。 我尝试在没有任何本地主机的情况下在浏览器中正常运行代码。但我了解到,在没有本地主机的情况下运行javascript可能会导致问题,所以我尝试在fiddle中运行,但在那里也不起作用

任何帮助都将受到高度重视。 谢谢


window.onload=inti;
函数init(){
var button=document.getElementById(“addButton”);
button.onclick=创建播放列表;
}
函数createPlaylist(){
var songText=document.getElementById(“songTextInput”);
var songName=songText.value;
var li=createElement(“li”);
li.innerHTML=“songName”;
var ul=document.getElementById(“播放列表”);
ul.儿童(以下简称“li”);
}


这么多的bug。你费心运行它了吗?大多数问题都出现在JavaScript控制台中,或者在运行代码段编辑器时出现在stackoverflow上

问题:

  • stackoveflow上不需要脚本标记(尽管您需要它们位于堆栈溢出之外)
  • 它是
    init
    不是
    inti
  • 它是
    document.createElement
    而不是
    createElement
  • songname
    不是
    “songname”
  • li
    不是
    “li”
  • 您将播放列表标记为类“playlist”,因此希望
    document.querySelector(“.playlist”)
    而不是
    document.getElementById(“播放列表”)
其他建议

  • 您不需要
    type=“text/javscript”
    ,因为这是默认设置
  • 您不需要
    窗口。onload
    只需将脚本标记放在末尾,然后自己调用
    init
  • 请考虑永远不要使用
    getElementById
    并始终使用
    querySelector

    querySelector接受CSS选择器。所以

    document.querySelector("#foo")   // gets 1st element with id="foo"
    document.querySelector(".foo")   // gets 1st element with class="foo"
    document.querySelector("canvas") // get first canvas element
    
    等等。。。你可以

函数init(){
var button=document.getElementById(“addButton”);
button.onclick=创建播放列表;
}
函数createPlaylist(){
var songText=document.getElementById(“songTextInput”);
var songName=songText.value;
var li=document.createElement(“li”);
li.innerHTML=歌曲名;
var ul=document.querySelector(“.playlist”);
ul.儿童(li);
}
init()


您不必将
标记放在js文件中或堆栈片段的js区域中。它将被自动检测为
JavaScript
code

然后,在
窗口中有一个输入错误。onload=inti
应该是
init

而不是太多的bug

我在这里确定:

window.onload=init();
函数init(){
var button=document.getElementById(“addButton”);
button.onclick=创建播放列表;
}
函数createPlaylist(){
var songText=document.getElementById(“songTextInput”);
var songName=songText.value;
var li=document.createElement(“li”);
li.innerHTML=“songName”;
var ul=document.getElementById(“播放列表”);
ul.儿童(li);
}


您的代码有点凌乱,就是这样

请比较我在下面发布的内容,这应该是清楚的为什么代码没有运行

   <script type = "text/javascript" >
  window.onload = init();

    function init() {
      var button = document.getElementById("addButton");
      button.onclick = createPlaylist;
}

    function createPlaylist() {
      var songText = document.getElementById("songTextInput");
      var songName = songText.value;
      var li = document.createElement("li");
      li.innerHTML = songName;
      var ul = document.getElementById("playlist");
      ul.appendChild(li);
      songText.value = '';
}
</script>


window.onload=init();
函数init(){
var button=document.getElementById(“addButton”);
button.onclick=创建播放列表;
}
函数createPlaylist(){
var songText=document.getElementById(“songTextInput”);
var songName=songText.value;
var li=document.createElement(“li”);
li.innerHTML=歌曲名;
var ul=document.getElementById(“播放列表”);
ul.儿童(li);
songText.value='';
}


    您有错误。你检查过控制台了吗?另外,
    createElement
    函数在哪里?这里有一个类型窗口。onload=inti可能指的是“init”。另外,删除
    script
    tags没有理由让
    onload
    只需将脚本放在末尾,并在脚本末尾调用init即可。它是
    init
    no
    inti
    ,没有函数
    createElement
    。这是
    document.createElement
    ::)注意到的要点。谢谢!非常感谢你的努力。谢谢你抽出时间。仔细检查代码是否有拼写错误。:)@sarj7在代码中有很多bug。我认为您应该在浏览器中调试每个错误,并在StackOverflow中搜索以找到解决方案。如果无法解决,请将问题张贴在此处。因为这个原因,你有-5张反对票。下次提问前请先核对。我发现@gman的答案很有用,有很好的解释。请接受他的回答。因为其他人会看到,如果他们和你有相同的问题,这个答案会被第一个接受,所以你应该做
    接受答案
    ,而不是感谢。快乐,谢谢。注意到这一点。从现在起,我们将使用querySelector而不是getElementById。