Ho del codice che sto guardando che utilizza una variazione su getElementByID che non capisco. Ho cercato online ma non trovo nulla che spieghi questo.
Capisco come usare qualcosa come document.getElementByID ("bob"), tuttavia quello che sto guardando dice:
if (document.getElementByID){}
Quando usi getElementByID in questo modo, cosa fa?
risposte:
3 per risposta № 1document.getElementById
restituisce la funzione che può essere utilizzata per ottenere alcuni elementi tramite ID.
typeof document.getElementById; // "function"
Tuttavia, se alcuni browser non lo implementano getElementById
, otterresti undefined
.
Pertanto, questo è solo un test per assicurarsi che il metodo esista prima di chiamarlo, evitando un errore.
if(document.getElementById) {
// Hopefully it"s safe to call it
document.getElementById("bob");
// ...
} else {
alert("What kind of stupid browser are you using? Install a proper one");
}
1 per risposta № 2
Questo tornerà false
:
if (document.getElementByID){}
perché non c'è getElementByID
sul document
oggetto. C'è tuttavia, getElementById
(nota la differenza nel file d
alla fine).
Pertanto, questo tornerà true
if (document.getElementById){}
In breve, se getElementByID
esiste sul documento, che a causa della digitazione, non lo fa, ma se lo ha fatto, allora fa qualcosa.
Un esempio più completo usando l'ortografia corretta:
if (document.getElementById) {
// it is safe to use this method because it exists on document
var element = document.getElementById("foo");
}
document.getElementById
restituisce una funzione che restituisce true
quando in un'espressione. Puoi testarlo tu stesso ma eseguendo lo snippet di codice.
console.log(document.getElementById);
// The !! forces a boolean
console.log(!!document.getElementById);