JQuery: تحقق مما إذا كان كائن JQuery يحتوي على (يشمل) عنصر DOM بالضبط

StackOverflow https://stackoverflow.com/questions/2218296

سؤال

لدي إشارة إلى عنصر DOM، وكائن مسج هو نتيجة محدد، وأريد التحقق مما إذا كان هذا عنصر DOM محدد في كائن JQuery. أقل من الحلقات من خلال كائن مسج بأكمله والتحقق من المساواة، هل هناك طريقة واضحة في مسج للقيام بذلك؟

لقد حاولت .contains, :contains, .has و :has, ويبدو أن أي منهم يفعلون المهمة. أيضا، يجب أن أذكر أن جميع العناصر التي أعملها مع نفس مستوى شجرة دوم، لذلك لا داعي للقلق بشأن الآباء / الأطفال.

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

المحلول

على غرار الإجابة Gumbos، ولكن الأسهم:

if ( obj.filter(function() { return this == el; }).length ) {
    // obj contains el
}

نصائح أخرى

$yourJqueryObject.is(yourDomElement)

يرى .هو() وأضاف في 1.6.

جرب هذا:

var result = $("selector").find("*").filter(function() {
    return this === elem;
}).length === 1;

elem هو عنصر DOM الذي تبحث عنه.

على غرار إجابة ديفيد ولكن حتى الأسلحة:

if ( obj.filter(el).length ) {
    // obj contains el
}

Kinda Hackish، ولكن يعمل بالنسبة لي:

$.inArray($('#single-element').get(0), $('.many-elements').get()) != -1
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top