So entfernen Sie nur eine Stileigenschaft mit jquery

123

Ich habe eine Div mit dieser Eigenschaft style="-moz-user-select:none; position:static !important;". Ich muss -moz-user-select Tried with $ (Selector) .css () entfernen, weiß aber nicht, welchen Wert ich setzen soll, da es "none" ist.

Kreker
quelle
Wenn noneja, warum müssen Sie es entfernen? Wenn Sie es in einen anderen Wert ändern müssen, finden Sie hier eine Liste der gültigen Werte
Chad

Antworten:

241

In der Dokumentation zu css () heißt es, dass durch Festlegen der Stileigenschaft auf die leere Zeichenfolge diese Eigenschaft entfernt wird, wenn sie sich nicht in einem Stylesheet befindet:

Durch Festlegen des Werts einer Stileigenschaft auf eine leere Zeichenfolge - z. B. $('#mydiv').css('color', '')- wird diese Eigenschaft aus einem Element entfernt, wenn sie bereits direkt angewendet wurde, sei es im HTML-Stilattribut, über die .css()Methode von jQuery oder durch direkte DOM-Manipulation der Stileigenschaft. Ein Stil, der mit einer CSS-Regel in einem Stylesheet oder <style>Element angewendet wurde, wird jedoch nicht entfernt .

Da Ihre Stile inline sind, können Sie schreiben:

$(selector).css("-moz-user-select", "");
Frédéric Hamidi
quelle
21
@ KevinFegandocument.getElementById('mydiv').style.removeProperty('-moz-user-select')
Xehpuk
-1

Sie können auch "-moz-user-select: none" durch "-moz-user-select: inherit" ersetzen. Dadurch wird der Stilwert von einem übergeordneten Stil oder vom Standardstil geerbt, wenn kein übergeordneter Stil definiert wurde.

dmorlock
quelle
3
Erben wird nicht entfernt
Eugen Konkov