Greasemonkey div ausblenden/löschen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
ausblenden
beispiel
code
dank
display
dritte element
element
fehler
funktionieren
liegen
manipulieren
null
numerische angabe
stelle
test
url
versuchen
webseite
zuweisung
zweite element
-
Hallo zusammen.
Ich versuche zurzeit mit Hilfe von Greasemonkey eine Webseite zu manipulieren, ich möchte ein div ausblenden oder löschen (wäre mir egal, möchte es einfach nicht sehen ;) ) Jedoch funktionieren alle Methoden nicht, die ich so auf diversen Seiten gefunden habe, wobei dort auch andere Fehler im Beispielcode waren.
Hier mein Code:
// ==UserScript== // @name test1 // @namespace meins // @description erster test // @include http://www.test.de/ // @version 1 // @grant none // ==/UserScript== alert('Hello World!'); //GM_addStyle('#indexlist_item { visibility:hidden !important }'); //GM_addStyle('#indexlist_item { display:none !important }'); var element=document.getElementsByClassName('indexlist_item'); if (element !== null) { //element.style.display = "none"; alert('es existiert was'); //element.parentNode.removeChild(element); } else { alert('nö nix'); } alert('ende');
Soweit läuft das Script durch, sobald ich eine der auskommentierten Sachen benutze bleibt das Script an der Stelle stehen, die Javascriptkonsole zeigt aber auch keinen Fehler an :( . Ansonsten findet aber immer ein Element, daran kann es also nicht liegen :)
Liegt es am Code oder doch an der Webseite? Hab es jetzt noch nicht an einer kleinen Beispielseite ausprobiert, nur am Original. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Da eine Klasse mehrfach zugewiesen sein kann, braucht es eine Zuweisung, welches Element angesprochen werden soll.
Beispiel, wenn die Klasse .indexlist_item 3 mal zugewiesen wird:
<div class="indexlist_item">Div 1</div> das erste Element: [0] <div class="indexlist_item">Div 2</div> das zweite Element: [1] <div class="indexlist_item">Div 3</div> das dritte Element: [2]
usw.
Soll das zweite Element [1] ausgeblendet werden, dann gehts mit
document.getElementsByClassName('indexlist_item')[1].style.display='none';
usw.
"getElementsByClassName" braucht immer die numerische Angabe um angesprochen zu werden, auch wenn eine Klasse nur einmal vorkommt. In dem Fall wäre es:
.document.getElementsByClassName('indexlist_item')[0].style.display='none';
Oder alle ausblenden:
var divs = document.getElementsByClassName('indexlist_item'); for(var i=0; i<divs.length; i++) { divs[i].style.display='none'; }
Tantchen Google kennt da noch mehr.
https://www.google.de/#q=javascript+document.getElementsByClassName+style+display+none
Beitrag zuletzt geändert: 24.1.2014 21:54:09 von menschle -
Ah danke ja daran lag es, hätte mir vielleicht die Variable (in diesem Fall ja dann ein Array ;) ) angucken sollen, danke ;)
Hatte gedacht, dass es eher irgendein Problem mit greasemonkey ist, deshalb hatte ich immer mit greasemonkey gesucht. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage