como remover apenas uma propriedade de estilo com jquery

123

Eu tenho um div com esta propriedade style="-moz-user-select:none; position:static !important;". Preciso remover o -moz-user-select Experimentado com $ (seletor) .css (), mas não sei qual valor definir porque é "nenhum".

Kreker
fonte
Se é nonepor que você precisa removê-lo? Se você precisará alterá-lo para outro valor aqui é uma lista de valores válidos
Chad

Respostas:

241

A documentação para css () diz que definir a propriedade style para a string vazia removerá essa propriedade se ela não residir em uma folha de estilo:

Definir o valor de uma propriedade de estilo como uma sequência vazia - por exemplo $('#mydiv').css('color', '')- remove essa propriedade de um elemento se já tiver sido aplicada diretamente, seja no atributo de estilo HTML, através do .css()método do jQuery ou através da manipulação direta DOM da propriedade de estilo. No entanto, ele não remove um estilo que foi aplicado com uma regra CSS em uma folha de estilo ou <style>elemento.

Como seus estilos estão alinhados, você pode escrever:

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

Você também pode substituir "-moz-user-select: none" por "-moz-user-select: herdar". Isso herdará o valor do estilo de qualquer estilo pai ou do estilo padrão se nenhum estilo pai tiver sido definido.

dmorlock
fonte
3
herdando não está removendo
Eugen Konkov