سؤال

أفعل ذلك حاليا للتحقق مما إذا كان أحد العناصر الموجودة:

if ($(".element1").length > 0 || $(".element2").length > 0) {
  //do stuff...
}

هل هناك طريقة أفضل لإعادة كتابة نفسه؟ يعني، هو .length كمثل .length > 0?

هل كانت مفيدة؟

المحلول 2

if ( $('#myDiv')[0] ) { //do something }

..works أفضل!

وجد هنا.

نصائح أخرى

if ($(".element1").is('*') || $(".element2").is('*')) {
    // code
}

تعديل (لكل تعليق) حدد العناصر حسب فصول متعددة في مكالمة واحدة:

if ($(".element1, .element2").is('*')) {
    // code
}

جميع عناصر مسج لديها .length خاصية. يمكنك فقط الذهاب:

if ($('img').length) // Implies: If this element exists..

http://jqueryfordesigners.com/element-exists/

!$.isEmptyObject($.find('#urId'))

سيعود هذا "صحيحا" إذا كان العنصر موجود و False إذا لم يكن كذلك

في صحتك :)

مجرد استخدام. كل ().

$(".element1").each(function(){
  //Do Something here
}

بسيط...


انظر نسخة محدثة للغاية من هذا البرنامج المساعد هنافي يستخدم الآن وظيفة رد الاتصال حتى تتمكن من الحفاظ على السلسلة إذا اخترت. يمكن أن يستبدل تماما إذا كان البيان أو لا يزال من الممكن استخدامها إذا كان البيان


يمكنك إنشاء مكون إضافي مسج بسيط للغاية لهذا، على هذا النحو:

jsfiddle.

(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);

استعمال

//  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();

مع بيان الخاص بك إذا

if ($(".element1").exist() || $(".element2").exist()) {
    ...stuff...
}

بالطبع يمكن تمديد هذا البرنامج المساعد ليكون أكثر فهميا (التعامل مع مكالمات متعددة في وقت واحد، وإنشاء عناصر غير موجودة بناء على عربة يدوية)، ولكن كما تقف الآن، فإنه يفعل وظيفة بسيطة للغاية أو حاجة للغاية ... هذا العنصر موجود؟ إرجاع True أو False

jsfiddle.

$.fn.exists = function(ifExists) {
    return this.length ? ifExists.call(this, this) : this;
};

الاستعمال:

$('.element1, .element2').exists(function(els) {
    // this and els refers to $('.element1, .element2')
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top