Remova vários atributos com removeAttr de jQuery


93

Eu tenho o seguinte código.

$(document).ready(function(){
 $('#listing img')
 .attr('width', 250)
 .removeAttr('height').removeAttr('align').removeAttr('style')
 .wrap('<p />');
});

Existe uma maneira mais eficiente de remover vários atributos?

Respostas:


176

Sim :

.removeAttr('height align style')

Da documentação :

a partir da versão 1.7, pode ser uma lista de atributos separados por espaço.


1
Caramba, essa foi uma resposta rápida. Muito obrigado. Eu sabia que essa era uma opção para removeStyle, mas não consegui encontrar nada em removeAttr. Obrigado por compartilhar.
somecallmejosh

como fazer se não for jquery 1.7+?
Patoshi パ ト シ

@duckx Update. Não faz sentido usar uma versão antiga do jQuery. Muitos bugs foram corrigidos e o jQuery é constantemente desenvolvido para acompanhar as evoluções do navegador.
Denys Séguret,

3

Sim, você pode removê-lo desta forma:

$('#listing img').removeAttr('height align style');

você também pode adicionar esses atributos da seguinte maneira:

$('#listing img').attr({ height: "20", align: left }).css({ color: red, text-align: center });
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.