Hier ist mein Ziel: tue etwas für ein Element, ein <optgrooup>
, wenn alle seine Kinder unsichtbar sind.
Mein Code unten umreißt das in rot, wenn es irgendwelche unsichtbare Kinder hat. Aber ich möchte das nur, wenn alle die Kinder unsichtbar sind. Wenn das Element sichtbare untergeordnete Elemente enthält, markieren Sie es nicht.
Wie kann ich den jQuery-Selektor dafür anpassen?
Vielen Dank im Voraus.
%Vor%Screenshot des Bildes hier: Ссылка
Angenommen, Sie möchten Elemente ohne untergeordnete Elemente ausschließen:
%Vor%UPDATE: Das hat viel bessere Leistung als meine ursprüngliche Antwort:
%Vor%Das hat viel bessere Leistung als meine ursprüngliche Antwort :
%Vor%Wie wäre es mit zwei Zeilen dafür? Eine, um es für jedes einzelne Element einzuschalten, und eine, um es für jeden mit einem sichtbaren Kind wieder auszuschalten?
%Vor%Der Kredit geht an Jed Schmidt . Der folgende Code funktioniert in IE8.
Beachten Sie, dass IE8 die <option>
Elemente trotz des display: none
Stils nicht wirklich versteckt. Auch IE8 scheint border
styles für <optgroup>
elements nicht zu akzeptieren.
// Antwort auf Frage, die CSS wie gewünscht ändert
%Vor%// entferne leere optgroup-Beispiele
%Vor%Sie müssen ein Array von allen vergleichen: visible vs.: hidden
hier ist ein Pseudocode
%Vor%Tags und Links jquery css-selectors visible children