Javascript Div文本不显示
此代码旨在将项目作为列表显示在按钮上方的div中,但是,尽管按钮和提示有效,但div中没有显示任何文本。帮助Javascript Div文本不显示,javascript,css,html,text,Javascript,Css,Html,Text,此代码旨在将项目作为列表显示在按钮上方的div中,但是,尽管按钮和提示有效,但div中没有显示任何文本。帮助 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Shopping List</title> <style> #button {
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Shopping List</title>
<style>
#button {
width:80px;
height:30px;
}
div.ex {
width:500;
height:500;
}
</style>
<script>
function a() {
var thing = prompt('Insert an item or press cancel');
if (thing != null && thing != undefined) {
document.getElementById('b') += thing;
}
else {
}
}
</script>
</head>
<body>
<div class='ex' style="color:#007AFC"></div>
<button onclick='a()' id='button'>Add Item</button>
</body>
</html>
购物清单
#钮扣{
宽度:80px;
高度:30px;
}
除名{
宽度:500;
身高:500;
}
函数a(){
var thing=prompt('插入项目或按取消');
if(thing!=null&&thing!=未定义){
document.getElementById('b')+=thing;
}
否则{
}
}
添加项
首先,您使用的是document.getElementById('b')
但是您没有带有id=“b”
的HTML元素。其次,您不能仅使用+=
操作符来更改元素的HTML内容。您需要修改innerHTML
属性,如下所示:
document.getElementById('b').innerHTML += thing;
此外,还需要有一个带有id=“b”
的HTML元素,如下所示:
<div id="b" class='ex' style="color:#007AFC"></div>
但是,请考虑使用一个更具描述性的名称来命名<代码ID>代码> ./p> ,你真的可以用“+=”来添加文本吗?我会尝试使用
以及sushain97所说的:向元素添加一个id(id=“b”)。但是,如果要逐个添加更多项目,则需要使用append(),而不是innerHTML(),因为innerHTML()将替换所有内容。html:<div class='ex' style="color:#007AFC" id="b"></div>
我有一张照片显示它在工作。相关javascript如下所示:
document.getElementById('addButton').addEventListener("click", addListItem, false);
function addListItem(){
var thing=prompt('Insert an item or press cancel') + "<br />";
if(thing!=null&&thing!=undefined){
document.getElementById('listDiv').innerHTML += thing;
}
}
document.getElementById('addButton').addEventListener(“单击”,addListItem,false);
函数addListItem(){
var thing=prompt('插入项目或按取消')+“
”;
if(thing!=null&&thing!=未定义){
document.getElementById('listDiv').innerHTML+=thing;
}
}
旁注:尽量远离内联样式和脚本。这使得维护变得更加困难。你的div中没有文本,你是否希望当你在promt中给出一些文本时,它会在div文本中出现…?并且没有背景颜色。。。所以决定:内容和/或背景颜色。如果您想要内容,请确保该功能正常工作。这是您的答案吗?此处不使用jquery(append())请不要介绍jquery,除非(1)使用它会更容易回答或者(2)提问者已经在使用它。为这种基本的东西添加一个库是没有意义的。你是一个非常乐于助人的人。非常感谢。我应该记得我的.innerHTML后缀:)没问题。香草JS有时可能有点冗长。
document.getElementById('addButton').addEventListener("click", addListItem, false);
function addListItem(){
var thing=prompt('Insert an item or press cancel') + "<br />";
if(thing!=null&&thing!=undefined){
document.getElementById('listDiv').innerHTML += thing;
}
}