Necesito añadir una clase a una imagen cuando su src es desconocido

Esto es lo que he intentado

if ($(".main-template img").attr('src') != '') {
    $(this).addClass('noRelImage');
}

Además, intenté

if ($(".main-template img").src.length > 0) {
    $(this).addClass('noRelImage');
}

Sin suerte

Así es como se ve el marcado:

<div class="main-template">
   <img src="">
</div>

enter image description here

He leído algunos otros posts, pero ninguna de sus respuestas resolvió esto

0
Mika 4 nov. 2019 a las 13:10

1 respuesta

Su primera condición tiene la lógica opuesta y el $(this) dentro del if depende del contexto: debe ser

var img = $(".main-template img");
if (img.attr('src') === "") {
    img.addClass('noRelImage');
}

También tenga en cuenta que si necesita agregar una clase solo para fines de estilo, podría evitar usar Javascript / jQuery y simplemente escribir un selector de atributos en sus declaraciones CSS, como

img[src=""] {
  /* style here */
}
1
fcalderan 4 nov. 2019 a las 10:23
58691179