gpt4 book ai didi

jquery - 找出元素是否是另一个元素的后代的最佳方法

转载 作者:IT王子 更新时间:2023-10-29 03:26:31 25 4
gpt4 key购买 nike

我正在实现 jQuery,并在我的代码库中取出 Prototype 库,我想知道您是否可以给我在 jQuery 中实现此功能的最佳方法。我熟悉 jQuery ancestor>descendant 语法,但只想通过 true 或 false 来检查元素是否是后代,如下面的代码:有人可以为此提供最有效的 jQuery 解决方案吗?

<div id="australopithecus">
<div id="homo-herectus">
<div id="homo-sapiens"></div>
</div>
</div>

$('homo-sapiens').descendantOf('australopithecus');
// -> true

$('homo-herectus').descendantOf('homo-sapiens');
// -> false

最佳答案

在 jQuery 1.6 中,您可以通用地使用以下代码,例如targetElt 和 parentElt 都可以是 DOM 元素或 jQuery 包装的对象,以及选择器:

$(targetElt).closest(parentElt).length > 0

其他一些答案要求您通过 ID 引用元素,如果您只有一个没有 ID 的 DOM 元素,这就没有用了。另外,如果您想确保 targetElt 是 parentElt 的严格后代(换句话说,您不想将 parentElt 算作它自己的后代),请务必添加 targetElt != parentElt 在调用 .closest() 之前进行检查,或者按照 Jonathan Sampson 的建议使用 .parents().find()

关于jquery - 找出元素是否是另一个元素的后代的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1059459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com