Весело, я испытываю невероятные трудности с поиском какого-либо наполовину удачного способа определить, находится ли элемент 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;
// Chase.