Vérifier si l’élément existe

Doublons possibles:
Y at-il une fonction “existe” pour jQuery
jQuery déterminant si l’élément existe sur la page

if(tr) retourne vrai quand tr n’est pas un élément, comment puis-je vérifier si c’est un élément qui existe?

 var tr = $('#parts-table .no-data').parent(); $('.delete', row).bind('click', function (e) { that.delete(e.currentTarget); }); console.log(tr); if (tr) //returns true when it shouldn't 

Vérifiez sa propriété de length :

 if(tr.length) { // exists } 

if(tr) toujours évalué à true car un object jQuery, ou n’importe quel object JavaScript, est toujours vrai.

J’ajoute toujours ce petit extrait jQuery au début de mes fichiers JS

 jQuery.fn.exists = function(){return jQuery(this).length>0;} 

Ceci utilise la même approche que beaucoup de personnes ici suggérées, mais cela vous permet également de savoir si un object existe ou non, comme ceci:

 if ( $('#toolbar').exists() ){ $('#toolbar').load(..., function(){...}); //etc... } 

C’est parce que tr est un object jQuery, ce qui est vérité (même si l’object jQuery est vide). Utilisez if (tr.length) place, ce qui sera vrai si la length n’est pas nulle, faux si elle est égale à zéro. Ou alternativement, if (tr[0]) .

Que diriez-vous:

 if (tr.size() == 0) 

essaye ça

 var tr = $('#parts-table .no-data').parent().length;