Javascript InnerHTML属性不工作
我使用下面的代码使用innerHTML属性动态地将html块添加到div中。以下是我的html代码:Javascript InnerHTML属性不工作,javascript,html,Javascript,Html,我使用下面的代码使用innerHTML属性动态地将html块添加到div中。以下是我的html代码: <body> <form> <div id="date_in"><input type="date" name="arrival"/></div> <div id="dat_out"><input type="date" name="departure"/></div&g
<body>
<form>
<div id="date_in"><input type="date" name="arrival"/></div>
<div id="dat_out"><input type="date" name="departure"/></div>
<div id="submit"><input type="submit" value="Submit"/></div>
</form>
</body>
在结束body标记之后,我添加了以下JavaScript
<script type"text/javascript">
var inDate= document.getElementById("date_in");
var inCal= document.createElement("div");
inCal.id="inCal";
inDate.appendChild(inCal);
document.getElementById("inCal").innerHTML= '<div id="calHeading">
<span id="left">Left</span>
<spanid="yearMonth">curMonth curYear</span>
<span id="right">Right</span>
</div>
<div id="weeKDays">
<span>S</span>
<span>M</span>
<span>T</span>
<span>W</span>
<span>TH</span>
<span>F</span>
<span>SA</span>
</div>';
</script>
var inDate=document.getElementById(“日期”);
var inCal=document.createElement(“div”);
inCal.id=“inCal”;
附肢儿童(印加);
document.getElementById(“inCal”).innerHTML='0
左边
宵禁
赖特
s
M
T
W
真实航向
F
沙特阿拉伯
';
在上面的代码中,没有添加innerhtml标记,我可以在源代码视图中看到这一点。这段代码可能有什么问题?您的JavaScript中有一个语法错误,因为字符串在多行上。这应该起作用:
<body>
<form>
<div id="date_in"><input type="date" name="arrival"/></div>
<div id="dat_out"><input type="date" name="departure"/></div>
<div id="submit"><input type="submit" value="Submit"/></div>
</form>
</body>
<script>
var inDate= document.getElementById("date_in");
var inCal= document.createElement("div");
inCal.id="inCal";
inDate.appendChild(inCal);
document.getElementById("inCal").innerHTML = [
'<div id="calHeading">',
'<span id="left">Left</span>',
'<spanid="yearMonth">curMonth curYear</span>',
'<span id="right">Right</span>',
'</div>',
'<div id="weeKDays">',
'<span>S</span><span>M</span>',
'<span>T</span><span>W</span>',
'<span>TH</span><span>F</span>',
'<span>SA</span>',
'</div>'].join('\n');
</script>
var inDate=document.getElementById(“日期”);
var inCal=document.createElement(“div”);
inCal.id=“inCal”;
附肢儿童(印加);
document.getElementById(“inCal”).innerHTML=[
'',
"左",,
“curMonth curYear”,
对,,
'',
'',
“SM”,
"TW",,
“THF”,
"SA",,
'')。加入('\n');
您的JavaScript中有一个语法错误,因为字符串位于多行上。这应该起作用:
<body>
<form>
<div id="date_in"><input type="date" name="arrival"/></div>
<div id="dat_out"><input type="date" name="departure"/></div>
<div id="submit"><input type="submit" value="Submit"/></div>
</form>
</body>
<script>
var inDate= document.getElementById("date_in");
var inCal= document.createElement("div");
inCal.id="inCal";
inDate.appendChild(inCal);
document.getElementById("inCal").innerHTML = [
'<div id="calHeading">',
'<span id="left">Left</span>',
'<spanid="yearMonth">curMonth curYear</span>',
'<span id="right">Right</span>',
'</div>',
'<div id="weeKDays">',
'<span>S</span><span>M</span>',
'<span>T</span><span>W</span>',
'<span>TH</span><span>F</span>',
'<span>SA</span>',
'</div>'].join('\n');
</script>
var inDate=document.getElementById(“日期”);
var inCal=document.createElement(“div”);
inCal.id=“inCal”;
附肢儿童(印加);
document.getElementById(“inCal”).innerHTML=[
'',
"左",,
“curMonth curYear”,
对,,
'',
'',
“SM”,
"TW",,
“THF”,
"SA",,
'')。加入('\n');
查看JavaScript错误控制台。您有一个语法错误。JavaScript字符串中不允许使用文字新行。JavaScript不允许使用多行字符串,必须是“”+“Left”etcSide注意,您不需要getElementById
,因为您已经通过inCal
变量引用了该元素。@Tero:谢谢,它起作用了。我是php程序员,我也这么认为。愚蠢的错误。看看你的JavaScript错误控制台。您有一个语法错误。JavaScript字符串中不允许使用文字新行。JavaScript不允许使用多行字符串,必须是“”+“Left”etcSide注意,您不需要getElementById
,因为您已经通过inCal
变量引用了该元素。@Tero:谢谢,它起作用了。我是php程序员,我也这么认为。愚蠢的错误。