se ha un id
, è possibile utilizzare document.getElementById
:
var div = document.getElementById("alertPanel");
Quindi, se esiste, è possibile rimuoverlo (probabilmente una cattiva idea) o nasconderlo:
if (div) {
div.style.display = "none"; // Hides it
// Or
// div.parentNode.removeChild(div); // Removes it entirely
}
Aggiornamento: Re tuo commento su un'altra risposta:
grazie per la risposta. Il tuo statemt si applica anche a una pagina con iframe. Il div in questione è in un iframe. Ho provato la soluzione ypur e purtroppo non ha funzionato. forse un link alla pagina aiuterà: tennis.betfair.com il div voglio disattivare è quello con ID: minigamesContainer
Se l'elemento è in una iframe
, allora dovete chiamare getElementById
sul documento questo è nel iframe
, dal momento che iframe
s sono finestre separate e hanno documenti separati. Se si conosce il id
del iframe
, è possibile utilizzare document.getElementById
per ottenere l'istanza iframe
, e quindi utilizzare contentDocument
per accedere suo documento, e quindi utilizzare getElementById
su che per ottenere l'elemento "minigamesContainer":
var iframe, div;
iframe = document.getElementById("the_iframe_id");
if (iframe) {
try {
div = iframe.contentDocument.getElementById("minigamesContainer");
if (div) {
div.style.display = "none";
}
}
catch (e) {
}
}
(Il try/catch
esiste a causa di un potenziale errore di sicurezza durante l'accesso al contenuto dell'iframe, non conosco abbastanza bene Greasemonkey per sapere se si applica allo SOP. Tendo ad ammettere che non lo sia, ma che sia più sicuro .. .)
Se non si conosce il id
del iframe
o se non ne ha uno, si può semplicemente scorrere tutti loro inducendole con document.getElementsByTagName
e poi loop:
var iframes, index, iframe, div;
iframes = document.getElementsByTagName("iframe");
for (index = 0; index < iframes.length; ++index) {
iframe = iframes[index];
try {
div = iframe.contentDocument.getElementById("minigamesContainer");
if (div) {
div.style.display = "none";
break;
}
}
catch (e) {
}
}
Riferimenti :
Funziona alla grande - grazie - ma cosa succede se, invece di cercare solo 'alertPanel', anch'io ** volevo nascondere un' alertPanel2' o 'alertPanel3'? (Sto cercando di imparare le basi di javascript - Sono un po 'nervoso per lo sperimentare.) –