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


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

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.


3
herdando não está removendo
Eugen Konkov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.