2012-04-02 8 views
0

Ich möchte ein Element auf seinem Stilelement auswählen. Zum Beispiel setzt meine aktuelle WYSIWYG-Editor Stilattribute Bilder auszurichten, etwa so:CSS-Attribut-Selektor in IE7 - Enthält Teilzeichenfolge im Stil-Attribut

<img src="my_image.png" style="align: left;" /> 

Selektoren Ich habe versucht:

img[style*='align: left'] 
img[style*='align:left'] 
img[style*='eft'] 

Alle diese gut funktionieren in allen Browsern außer IE7.

+0

ich eine Antwort geschrieben hatte, aber dann ging und getestet und es hat nicht funktioniert, wie ich erwartet hatte. Also habe ich es gelöscht. Ich weiß, dass der Teil des Problems das '* =' ist ein CSS3-Selektor ist. Ich dachte 'img [style ~ = 'align: left']' würde funktionieren, aber nicht, wenn man es in einer Geige getestet hat. – ScottS

Antwort

2

Ich denke, es ist nicht möglich: nach sitepoint

In Internet Explorer 7: Das Stil-Attribut kann nicht Selektoren in Attribute verwendet werden.

so dass im Grunde der einzige Weg, dieses Element auf IE 7 < Ziel wahrscheinlich mit Hilfe von Javascript

+0

Du hast den Hinweis zu 'sytle' vor mir gefunden :-). [Es gibt einen weiteren Stack-Überlauf, der JavaScript-Lösungen anzeigt] (http://stackoverflow.com/questions/3260210/select-element-by-css-style-all-with-given-style/3260325#3260325), wie du erwähnt hast (und ich erwähnte in meiner Antwort hier). – ScottS

0

Doing a bit of research online yielded die Tatsache, dass IE7 Attributauswahl für das style Element nicht erkennt (sogar CSS2).

Wenn es eine Möglichkeit gibt, Ihren WYSIWYG so zu konfigurieren, dass ein class auf die Elemente angewendet wird, die ausgerichtet werden (und die Ausrichtung möglicherweise ausführt), erkennt IE7 img[class~=yourClassName] als Attributselektor. Aber es ist sehr wahrscheinlich, dass Sie Ihren Stil nur durch die Klasse selbst anwenden würden: img.yourClassName und überspringen Sie die gesamte Attributauswahl.

Ansonsten use javascript.