Ответ 1
Вы можете перейти со следующим селектором
$('div:not(:has(*))')
Выше выбора выберете все DIV, у которых нет детей.
как можно получить все листовые узлы, допустим, divs, из DOM? Я пытаюсь думать об оптимальном решении, если для этого нет простого и волшебного селектора. Я думал о том, что используется "достигнутоElem.find(" div "). Length == 0", но я не уверен, что это правильное направление. Есть идеи? Благодаря
Вы можете перейти со следующим селектором
$('div:not(:has(*))')
Выше выбора выберете все DIV, у которых нет детей.
Если вы действительно хотите что-то эффективное, избегайте сложного селектора :not(:has(*))
:
$("div").filter(
function(index) {
var isLeaf = $(this).children().length === 0;
return isLeaf;
}
);
Я обнаружил, что он в два раза эффективнее, чем предложение eHussain, или даже быстрее.