Javascript 如何正确使用getElementById和innerHTML(.append())
我面临以下问题: 我有一个用于用户输入的表单,在提交时调用函数drawmycolor()。然后,该函数会给出一个talbe,显示通过用户输入的数字生成的颜色。所有这些都在起作用,唯一的问题是,表格不是显示在网站上,而是显示在一个新窗口中。我试图通过在html部分中打开一个div元素,然后使用getElementById引用该div,然后将带有innerHTML的表放入div元素来解决这个问题。这是我的代码:Javascript 如何正确使用getElementById和innerHTML(.append()),javascript,html,append,innerhtml,getelementbyid,Javascript,Html,Append,Innerhtml,Getelementbyid,我面临以下问题: 我有一个用于用户输入的表单,在提交时调用函数drawmycolor()。然后,该函数会给出一个talbe,显示通过用户输入的数字生成的颜色。所有这些都在起作用,唯一的问题是,表格不是显示在网站上,而是显示在一个新窗口中。我试图通过在html部分中打开一个div元素,然后使用getElementById引用该div,然后将带有innerHTML的表放入div元素来解决这个问题。这是我的代码: function drawmycolor() { a = Number(docum
function drawmycolor()
{
a = Number(document.color.d.value); //getting the user input from the form
b = Number(document.color.e.value);
c = Number(document.color.f.value);
if (a >= 0 && a < 255 && Math.floor(a) == a &&
b >= 0 && b < 255 && Math.floor(b) == b &&
c >= 0 && c < 255 && Math.floor(c) == c)
{
mycolor = "#" + getHexadecimalValue(a) +
"" + getHexadecimalValue(b) +
"" + getHexadecimalValue(c);
var div = document.getElementById('ausgabe'); //Here I am referencing the div-el.
div.innerHTML = div.innerHTML + "...." //here i don't know how to put in the table below.
document.write('<br><table border="1" cellspacing="1"cellpadding="1">');
document.write('<tr><th>Hexadecimal Red</th><th>' +
'Hexadecimal Green</th><th>' +
'Hexadecimal Blue</th><th>' +
'Color</th></tr>');
document.write('<tr><td>' + getHexadecimalValue(a) + '</td><td>' +
getHexadecimalValue(b) + '</td><td>' +
getHexadecimalValue(c) +
'</td><td bgcolor="mycolor"</td></tr>'); //RIGHT HERE I WANT TO SET THE COLOR
document.write('</table>');
}
else
..
<div id="ausgabe"><br> Blubb </div> //this is the div-element where the output is
supposed to be...
函数drawmycolor()
{
a=Number(document.color.d.value);//从表单获取用户输入
b=编号(文件颜色e值);
c=编号(文件颜色f值);
如果(a>=0&&a<255&&M.floor(a)==a&&
b>=0&&b<255&&b数学楼层(b)==b&&
c>=0&&c<255&&M.楼层(c)==c)
{
mycolor=“#”+getHexadecimalValue(a)+
“”+getHexadecimalValue(b)+
“”+getHexadecimalValue(c);
var div=document.getElementById('ausgabe');//这里我引用的是div-el。
div.innerHTML=div.innerHTML+“…”//这里我不知道如何放入下表中。
文件。写(“
”);
document.write('十六进制红色'+
“十六进制绿色”+
“十六进制蓝色”+
“颜色”);
文件。写入(“”+getHexadecimalValue(a)+“”+
getHexadecimalValue(b)+''+
getHexadecimalValue(c)+
“用您在文档中输入的字符串替换”../
。每次调用文档时,都要写入。写入(“某物”)
它会将以前的内容重写为“某物”。正如昆廷所指出的,可以这样做:
var div = document.getElementById('ausgabe');
div.innerHTML="Your entire table related code here";
(如果您不想要该div的先前内容,则不需要div.innerHTML=div.innerHTML+..
)
或者您可以这样做(如果您想附加一个新的div):
谢谢-它成功了!实际上我以前也试过了,但我仍然有文档。在文档中写(…)符号。一旦我删除了这些符号,只像你说的那样放入表代码,它就成功了。…太棒了:)
var dNew = document.createElement('div');
dNew.innerHTML="yolur table related content here"
document.getElementById('your outer div id here').appendChild(dNew);