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”.


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", "");

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.


3
dziedziczenie to nie usuwanie
Eugen Konkov
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.