Мне нужно несколько советов, как я могу реализовать функцию для проверки следующего последнего узла, который является последним потомком на этом уровне вместе со своими дочерними элементами при щелчке родительского узла. Чтобы быть более конкретным, я попробую объяснить это на простом примере. Когда у нас есть дерево:Нестандартная проверка узлов в дереве
Node1
Node9
Node11
Node15, Node14
(Node4, Node5 - Node15's children), (Node2, Node3 - Node14's children)
Когда я нажимаю, например, Node9, с ним также должны быть проверены узлы Node1, Node15, Node4 и Node5.
У меня есть функция проверки каждого дочернего узла для данного родителя, и я хотел его использовать, но я обнаружил некоторые трудности с распознаванием ближайшего к последнему узлу. Является ли какой-либо простой способ проверить, является ли узел последним для данного пути?
До сих пор у меня есть что-то вроде этого:
function checkNonstandard(click, check) {
if(click.siblings().length>0) {
click.siblings().each(function() {
if($(this).is('ul') || $(this).is("li")) {
// if($(this).children().is(":last-child")){
// if($(this).children().length == 0){
// $(this).removeAttr('checked');
//here I wanted with no luck to put a condition to check only the next to last node with children
}
else{
checkStandard($(this).children(), check);
//this is a function to check every node for given parent and its ancestors
}
} else if($(this).is("input")) {
if(check==true) {
$(this).attr('checked', true);
} else {
$(this).removeAttr('checked');
}
}
});
}
Thx заранее за любые предложения, как справиться с этим.
что-то вроде $ (this) .parent(). Find ("> *") – dandavis