Estoy tratando de escribir un script que buscará en una página completa y eliminará el atributo disabled de todos los objetos de tipo button. ¿Cuál es el mejor método para lograr esto? Buscando soluciones simples de JS.

Por ejemplo, me gustaría convertir esto:

<button disabled class="foo">My button</button>

Dentro:

<button class="foo">My button</button>

Este script se ejecutará después de que se cargue la página.

0
colindunn 1 mar. 2018 a las 05:49

4 respuestas

La mejor respuesta
document.querySelectorAll('button').forEach(b=>b.removeAttribute('disabled'));

Debe funcionar.

7
Randy Casburn 1 mar. 2018 a las 02:59

Puede hacerlo en JavaScript vainilla sin ninguna biblioteca. Use getElementsByTagName() para obtener todos los elementos de una etiqueta dada, y luego repita a través de ellos y use removeAttribute() para eliminar un atributo dado. Aquí hay una demostración:

var b = document.getElementsByTagName("button");

for (var i = 0; i < b.length; i++) {
  b[i].removeAttribute("disabled");
}
<button disabled class="foo">My 1st button</button>
<button disabled class="foo">My 2nd button</button>
<button disabled class="foo">My 3rd button</button>
1
Racil Hilan 1 mar. 2018 a las 03:00

Puede usar esto si necesita usar valores / atributos para botones individuales

$('button').each(function(){
    $(this).prop('disabled', false);
});

O

Simplemente puedes usar esto

$('button').prop('disabled', false);
0
Jeremiah Cabigting 1 mar. 2018 a las 02:54

Si está utilizando JQuery, puede hacer $('button[disabled]').removeAttr('disabled')

0
Jiby Jose 1 mar. 2018 a las 02:54