Voir la version extrêmement mise à jour de ce plugin ici ! Utilise maintenant la fonction callback pour que vous puissiez conserver la possibilité de chaînage si vous le souhaitez. Peut complètement remplacer si la déclaration ou peut encore être utilisé dans si la déclaration
Vous pourriez créer un plug-in jQuery très simple pour cela, comme tel :
(function($) {
if (!$.exist) {
$.extend({
exist: function(elm) {
if (typeof elm == null) return false;
if (typeof elm != "object") elm = $(elm);
return elm.length ? true : false;
}
});
$.fn.extend({
exist: function() {
return $.exist($(this));
}
});
}
})(jQuery);
UTILISER
// With ID
$.exist("#eleID");
// OR
$("#eleID").exist();
// With class name
$.exist(".class-name");
// OR
$(".class-name").exist();
// With just tag // prolly not best idea aS there will be other tags on site
$.exist("div");
// OR
$("div").exist();
Avec votre instruction If
if ($(".element1").exist() || $(".element2").exist()) {
...stuff...
}
Bien sûr, ce plugin pourrait être étendu pour être beaucoup plus sophistiqué (gérer plusieurs appels à la fois, créer des éléments inexistants à partir d'une pyramide), mais tel qu'il est actuellement, il remplit une fonction très simple et très nécessaire ... Cet élément existe-t-il ? return True
ou False