Ihr Beispiel zeigt, wenn Sie einen Verweis auf das Element haben, das Sie steuern möchten.Wenn Sie bereits einen Verweis auf das Element haben, gibt es keinen Grund, document.getElementById
zu verwenden, um einen Verweis auf sie zu erhalten (Sie bereits eine haben):
<span id="mySpan" onclick="test(this);">TEST</span>
<script type="text/javascript">
function test(el) {
// el is a reference to an element, you can use it directly
el.style.display = 'none';
// to demonstrate that the element you retrieve from gEBI
// with el.id is the same as your original reference
var elAgain = document.getElementById(el.id);
alert(elAgain === el); // "true"
}
</script>
Der Ort, wo Sie vielleicht document.getElementById
verwenden ist, wenn Sie wollen ein weiteres Element zu steuern, auf die Sie nicht bereits über eine Referenz:
<span id="mySpan" onclick="test(this, 'myDiv');">TEST</span>
<div id="myDiv" style="display:none;">DIV REVEALED</div>
<script type="text/javascript">
function test(el, otherElId) {
// el is a reference to an element, you can use it directly
el.style.display = 'none';
// otherElId is a string containing the id of
// the element you want to control
var theDiv = document.getElementById(otherElId);
theDiv.style.display = '';
}
</script>
Hinweis, dass es selten (wenn überhaupt) einen Grund so etwas wie die folgenden Funktionen ausführen:
<span id="mySpan" onclick="test('mySpan');">TEST</span>
<script type="text/javascript">
function test(theElId) {
var el = document.getElementById(theElId);
el.style.display = 'none';
}
</script>
Wenn die Funktion von einem Elementereignis ausgelöst wird, können Sie einfach this
übergeben (gemäß meinem ersten Beispiel), anstatt die ID des Elements zu übergeben, auf dem das Ereignis stattfindet.
Vielen Dank, nicht nur für die Antwort, sondern um mich für die kommenden zu erziehen. – CindyH