Tengo dos elementos dentro <tr> :
<table> <tbody> <tr> <td><input type="text" class="form-control input-state" onclick="myfunction(this)"></td> <td><input type="text" class="form-control input-city" onclick="myfunction(this)"></td> </tr> </tbody> </table> en myfunction quiero verificar si el elemento con la clase cartain existe o no:
if($(thisElem).closest("tr").find(".input-city").length){ console.log('true') } pero $(thisElem).closest("tr").find(".input-city").length es siempre 0 ! ¿Cómo verifico la existencia de este elemento?
Esto es para mostrar que el problema se debe a que el html no es válido, ya que tr debe estar dentro de una tabla como muestra esta demostración:
function myfunction(target){ if($(target).closest("tr").find(".input-city").length){ console.log('true'); }else{ console.log('false'); } } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h1>Working</h1> <table> <tr> <td><input type="text" class="form-control input-state" onclick="myfunction(this)"></td> <td><input type="text" class="form-control input-city" onclick="myfunction(this)"></td> </tr> </table> <h1>Not Working</h1> <tr> <td><input type="text" class="form-control input-state" onclick="myfunction(this)"></td> <td><input type="text" class="form-control input-city" onclick="myfunction(this)"></td> </tr>