2016-11-10 2 views
-1

Ich muss in der Lage sein, Elemente zu schweben, aber nicht alle. In diesem Fall habe ich alles versucht, aber nicht den Tisch.Wie man alle Elemente schwebt, aber einige vermeidet?

$(".modal-content *:not("table")").on("mouseenter", function() {... 

UPDATE

hatte ich einen Tippfehler, die Antwort zu akzeptieren.

+0

Sie sollten einen Fehler in Ihrer ** Entwickler-Tools-Konsole sehen **, weil das nicht gültig JavaScript-Syntax ist. .. Javascript hat mindestens zwei Zeichenfolgenbegrenzer ... '' '' '' '' ... verwenden Sie sie mit Bedacht - obwohl Sie in diesem Fall wahrscheinlich nur Zeichenfolgentrennzeichen verwendet haben, wo sie nicht benötigt wurden –

Antwort

1

Sie haben einen Fehler in Anführungszeichen. Versuche dies.

$(".modal-content *:not(table)").on("mouseenter", function() {... 
+0

Vielen Dank. Irgendeine Idee, wie ich sagen kann "nur dieses spezifische Element, das ich schwebe"? -) –

+0

Sie können diese Anweisung für '$ ('html') verwenden. Hover (function() {console.log (this)});' dafür. Überprüfen Sie [diese] (https://jsfiddle.net/7nr2odyh/) Geige. –

+0

aus irgendeinem Grund markiert es zuerst Elemente mit dem gleichen Tag, ich versuchte sogar $ (". Modal-body"). Children(). On ("mouseenter", function() { –

1

Sie keine Anführungszeichen brauchen um das Wort ‚Tisch‘ überhaupt .... Der Wähler sollte lauten:

.modal-content *:not(table) 

Genau so klar ist, bedeutet, dass Wähler „alle Elemente, die Nachkommen sind eines Elements mit einem className von '.modal-content', aber KEINE Tabellenelemente

PS: Wenn Sie Elementen nur visuelle Effekte hinzufügen, sollten Sie reines CSS und nicht jQuery verwenden, um beispielsweise Elemente umzuwandeln rot auf schweben:

.modal-content *:not(table):hover { 
    background-color: red; 
} 
+0

Danke, ich weiß über css aber ich brauche ich in meinem speziellen Fall aus anderen Gründen –

0

Hier gehen ya (leuchtet rot auf schweben):

$('.modal-content') 
    .on('mouseenter', '*:not(table,table *)', function (e) { 
    $(this).css({ backgroundColor: 'red' }) 
    }) 
    .on('mouseleave', '*:not(table,table *)', function (e) { 
    $(this).css({ backgroundColor: 'initial' }) 
    }); 

jsFiddle: https://jsfiddle.net/o9nj2saf/1/

Verwandte Themen