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.