javascript没有';即使在小提琴上也不行,更不用说浏览器了
这是我的代码,一个简单的播放列表生成器。但是javascript根本不工作,就好像它不在那里一样。 我尝试在没有任何本地主机的情况下在浏览器中正常运行代码。但我了解到,在没有本地主机的情况下运行javascript可能会导致问题,所以我尝试在fiddle中运行,但在那里也不起作用 任何帮助都将受到高度重视。 谢谢javascript没有';即使在小提琴上也不行,更不用说浏览器了,javascript,html,Javascript,Html,这是我的代码,一个简单的播放列表生成器。但是javascript根本不工作,就好像它不在那里一样。 我尝试在没有任何本地主机的情况下在浏览器中正常运行代码。但我了解到,在没有本地主机的情况下运行javascript可能会导致问题,所以我尝试在fiddle中运行,但在那里也不起作用 任何帮助都将受到高度重视。 谢谢 window.onload=inti; 函数init(){ var button=document.getElementById(“addButton”); button.oncl
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接受CSS选择器。所以querySelector
等等。。。你可以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
nointi
,没有函数createElement
。这是document.createElement
::)注意到的要点。谢谢!非常感谢你的努力。谢谢你抽出时间。仔细检查代码是否有拼写错误。:)@sarj7在代码中有很多bug。我认为您应该在浏览器中调试每个错误,并在StackOverflow中搜索以找到解决方案。如果无法解决,请将问题张贴在此处。因为这个原因,你有-5张反对票。下次提问前请先核对。我发现@gman的答案很有用,有很好的解释。请接受他的回答。因为其他人会看到,如果他们和你有相同的问题,这个答案会被第一个接受,所以你应该做接受答案
,而不是感谢。快乐,谢谢。注意到这一点。从现在起,我们将使用querySelector而不是getElementById。