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?

somecallmejosh
fonte

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.

Denys Séguret
fonte
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 });
Pritam Jyoti Ray
fonte