1
使用變量調用document.getElementById
時,它將返回空值。下面是示例代碼:傳遞document.getElementById中的變量將返回Null
function savenext(k)
{
qdd=k.id;
var divs = document.getElementsByClassName("qpanel");
for(var i=0;i<divs.length;i++)
{
divs[i].style.display = "none";
}
str = qdd.replace(/SN/g, '');
str='Q'+str;
var d = document.getElementById(str);
d.style.display = "block";
}
<div id="main" class="qpanel" id="Q3">
\t Q3
</div>
<div id="main" class="qpanel" id="Q2">
\t Q2
</div>
<div id="main" class="qpanel" id="Q6">
\t Q6
</div>
<input type="button" value="Save and next" id="SN3" onclick="savenext(this)" class="savenext">
<input type="button" value="Save and next" id="SN2" onclick="savenext(this)" class="savenext">
<input type="button" value="Save and next" id="SN6" onclick="savenext(this)" class="savenext">
document.getElementById(str)
返回null
'id's必須是文檔中是唯一的。請注意div中的double id。當頁面被解析時,第二個id將被忽略。 – Teemu
@Teemu實際上divs有兩個id屬性。這是不允許在HTML中。 – Esko