jak usunąć tylko jedną właściwość stylu za pomocą jquery

124

Mam element div z tą właściwością style="-moz-user-select:none; position:static !important;". Muszę usunąć -moz-user-select próbę z $ (selector) .css (), ale nie wiem, jaką wartość ustawić, ponieważ jest to „none”.

Kreker
źródło
Jeśli tak, to nonedlaczego musisz go usunąć? Jeśli chcesz zmienić ją na inną wartość, tutaj znajduje się lista prawidłowych wartości
Czad

Odpowiedzi:

242

Dokumentacja dla css () mówi, że ustawienie właściwości stylu na pusty ciąg spowoduje usunięcie tej właściwości, jeśli nie znajduje się ona w arkuszu stylów:

Ustawienie wartości właściwości style na pusty ciąg - np. $('#mydiv').css('color', '')- usuwa tę właściwość z elementu, jeśli została już bezpośrednio zastosowana, czy to w atrybucie stylu HTML, za pomocą .css()metody jQuery , czy poprzez bezpośrednią manipulację DOM właściwości style. Nie usuwa jednak stylu, który został zastosowany za pomocą reguły CSS w arkuszu stylów lub <style>elemencie.

Ponieważ Twoje style są wbudowane, możesz pisać:

$(selector).css("-moz-user-select", "");
Frédéric Hamidi
źródło
21
@KevinFegandocument.getElementById('mydiv').style.removeProperty('-moz-user-select')
xehpuk
-1

Możesz także zamienić „-moz-user-select: none” na „-moz-user-select: inherit”. Spowoduje to odziedziczenie wartości stylu z dowolnego stylu macierzystego lub ze stylu domyślnego, jeśli nie zdefiniowano stylu macierzystego.

dmorlock
źródło
3
dziedziczenie to nie usuwanie
Eugen Konkov