[CSS] CSS-Attributabhängiger Selektor gesucht

Quidoff

Lieutenant
Registriert
Feb. 2005
Beiträge
897
Hallo,
ich will mit einem CSS-Selektor die Eigenschaften folgenden
div-Containers ändern:
HTML:
<div style="border:1px #0066CC solid; margin-bottom:6px; width:100%; overflow:hidden;">

Mit welchem Selektor kann ich darauf zugreifen und wie würde der Code
dazu aussehen?

Ich kann den HTML der Seite übrigens nicht ändern.
Sonst könnte ich dem Container ja einfach eine ID zuweißen.

Es geht im Prinzip darum, nervige Werbung, die sich in diesem Container befindet
auszublenden.

Dazu benutze ich die Möglichkeit in Opera jeder Domain eine eigene
CSS-Datei über zu braten. ;)
 
Gibt es also keine Möglichkeit auf den obigen Container zuzugreifen?

Könnte ich mit JavaScript die Elemente des gesamten Dokuments durchlaufen
und alle Objekte ausblenden, bei denen die CSS-Attribute so gesetzt sind, wie oben?
 
Ich habe in meinem ersten Post zu dem Thema geschrieben, dass ich
die ID des Elements nicht ändern kann.
 
Das dürfte funktionieren. Wobei dann natürlich kein anderes Block-Element die obigen Eigenschaften haben dürfte, weil es sonst ebenfalls ausgeblendet werden würde.
Außerdem: Das Skript könnte ja erst dann ausgeführt werden, wenn das Block-Element mit der Werbung bereits existiert, sprich die Webseite inkl. Werbung bereits geladen wurde, sprich die Webseite inkl. Werbung bereits angezeigt wird, denn du kannst ja schlecht die Style-Eigenschaften eines Elements ändern, welches gar nicht existiert.

@ --Sirius--

:rolleyes:
 
Das JSkript wird leider schon beim Laden der Seite
ausgeführt, wodurch ich auf die Elemente noch keinen
Zugriff habe.
 
Du kannst selbst entscheiden, wann ein JavaScript ausgeführt werden soll - selbst wenn es bereits am Anfang im Kopfbereich der HTML-Datei eingebunden wird.

Code:
window.onload = function()
{
    // JavaScript-Code, der erst dann ausgeführt wird, wenn die Webseite komplett geladen wurde
}

Wobei ich mich eh frage, was du mit einem JavaScript vorhast. Ich kenne Opera jetzt nicht gerade in und auswendig, aber Opera bietet doch keine Möglichkeit, neben einem Benutzer-Stylesheet auch noch ein Benutzer-JavaScript automatisch einzubinden...?
 
Doch das geht:


Bei folgendem Code wird nur "a2" angezeigt.
HTML:
window.onload = function() {
	alert("a1");
}

alert("a2");
 
Bei mir nicht.
Bei mir wird sowohl a2 als auch a1 angezeigt.
Du musst halt entsprechend lange warten, nämlich bis die komplette Seite geladen ist inklusive aller Bilder.
 
Bei mir wird a1 erst angezeigt, wenn ich auf einen Link
auf der Seite klicke.

Da es nur einen div-Container mit einem Rahmen in dieser
Farbe auf der Seite gibt, funktioniert folgender Code
sobald ich auf einen Link klicke:
HTML:
window.onload = function() {
	var divs = document.getElementsByTagName("div");
	for (var i = 0; i < divs.length; i++) {
		if(divs[i].style.border=="1px solid #0066cc") {
			divs[i].style.display = "none";
		}
	}
}
Finde es nur seltsam, dass die Funktion nicht nach Laden
der Seite ausgeführt wird.
 
Laut CSS4you sollte der attributabhängige Selektor unterstützt werden.

HTML:
<head>
<style type="text/css">
	p [title] {
		border: 1px solid #000000;
	}
</style>
</head>

<body>
<p>Test</p>
<p title="Hello">World</p>
</body>
Dieser Code umrahmt aber den zweiten p-Tag nicht.
 
Versuch's mal ohne das Leerzeichen zwischen p und [title], zumindest in Firefox funktioniert's dann.
 
Hat geklappt.

Aber das klappt ja nur mit html Attributen, oder?
Wie müsste ein Selektor für den obigen div-Tag aussehen?
 
Zurück
Oben