zurück Während document.getElementById
unter Verwendung der Variablen aufgerufen wird, gibt es null zurück. Unten ist der Code Beispiel:Die Übergabe der Variable in document.getElementById gibt 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)
gibt null zurück
'ID's innerhalb des Dokuments eindeutig sein muss. Beachte die doppelten 'id's in den divs. Wenn die Seite geparst wird, wird die zweite ID ignoriert. – Teemu
@Teemu tatsächlich haben die Divs zwei ID-Attribute. Das ist in html nicht erlaubt. – Esko