JQuery: تحقق مما إذا كان كائن JQuery يحتوي على (يشمل) عنصر DOM بالضبط
سؤال
لدي إشارة إلى عنصر 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
لا تنتمي إلى StackOverflow