我想用两个jQuery对象来检查祖先.它们没有ID,只能用作jQuery对象(如果你调用了DOM节点get()
).jQuery is()
只适用于表达式,所以这段代码是理想的但不起作用:
var someDiv = $('#div'); $('a').click(function() { if ($(this).parents().is(someDiv)) { alert('boo'); } }
只是想看看一个元素是否是另一个元素的孩子,我想尽可能避免退回DOM领域.
您可以使用index()方法检查列表中是否存在元素,以下工作是否可行?
var someDiv = $('#div'); $('a').click(function() { if ($(this).parents().index(someDiv) >= 0) { alert('boo'); } }
来自#index参考.
(this).parents().index(someDiv) >= 0
正如@Gareth建议的那样,检查工作会很好.
然而,使用jQuery的祖先插件的方式更快/更有效.