有趣的是,我很难找到任何一种半好的方法来确定一个 HTML 元素是否在另一个元素中——这似乎应该是遍历和分析 HTML DOM 的基本核心功能。我对缺少“hasDescendant”(或类似的)方法感到非常惊讶和失望。
我正在尝试这样做:
var frog = $('#frog');
var walrus = $('#walrus');
if (frog.hasDescendant(walrus)) console.log("Frog is within walrus.");
else console.log("Frog is outside walrus.");
我试图用许多 jQuery 组合重现我正在寻找的东西。
walrus.is(frog.parents());
walrus.has(frog);
walrus.find(' *').has(frog);
frog.is(walrus.find(' *'));
我还没有找到可行的解决方案。
[编辑]
解决方案: walrus.has(frog)
备用: if (walrus.has(frog)) { doStuff(); }
备用: var booleanResult = walrus.has(frog).length>0;
//追赶。