Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在树状视图中使用或不使用parentsUntil触发click事件以搜索节点_Javascript_Jquery - Fatal编程技术网

Javascript 在树状视图中使用或不使用parentsUntil触发click事件以搜索节点

Javascript 在树状视图中使用或不使用parentsUntil触发click事件以搜索节点,javascript,jquery,Javascript,Jquery,我有一个具有以下结构的树视图,我想展开树节点以按id选择特定节点 我已经到了可以访问parentUntil的阶段,但我不知道如何使用它触发点击事件或更改父母兄弟姐妹孩子的类 如何使用或不使用parentsUtil函数在具有类col的div上触发click事件 这是小提琴:www.jsfiddle.net/m3hecxyr 这就是我正在尝试的 $("a[href='#id=4'").parentsUntil($("#list > ul")) // what's next ? 结构 如何使用

我有一个具有以下结构的树视图,我想展开树节点以按id选择特定节点

我已经到了可以访问parentUntil的阶段,但我不知道如何使用它触发点击事件或更改父母兄弟姐妹孩子的类

如何使用或不使用parentsUtil函数在具有类col的div上触发click事件 这是小提琴:www.jsfiddle.net/m3hecxyr

这就是我正在尝试的

$("a[href='#id=4'").parentsUntil($("#list > ul")) // what's next ?
结构

如何使用或不使用parentsUtil函数在具有类col的div上触发click事件

如果要单击与当前子树相关的具有col类的div元素,则需要转到具有此类div的最近元素,并从中找到相应的div:

$("a[href='#id=4']").closest($("ul:has(div.col)")).find ('div.col').get(0).click();
您的切换功能未被描述,因此我建议将其实现为:

function toggle(ele, evt) {
    evt.stopPropagation();
    ele.classList.toggle('col');
    ele.classList.toggle('exp');
}
对于内联调用:

toggle(this, event);
片段:

功能切换{ evt=evt | | window.event; evt.stopPropagation; ele.classList.toggle'col'; ele.classList.toggle'exp'; } $function{ $a[href='id=4'] .最接近$ul:hasdiv.col 。查找“div.col”。获取0.click; }; 上校{ 边框:3倍纯绿; } .exp{ 边框:3倍纯红; } 如何使用或不使用parentsUtil函数在具有类col的div上触发click事件

如果要单击与当前子树相关的具有col类的div元素,则需要转到具有此类div的最近元素,并从中找到相应的div:

$("a[href='#id=4']").closest($("ul:has(div.col)")).find ('div.col').get(0).click();
您的切换功能未被描述,因此我建议将其实现为:

function toggle(ele, evt) {
    evt.stopPropagation();
    ele.classList.toggle('col');
    ele.classList.toggle('exp');
}
对于内联调用:

toggle(this, event);
片段:

功能切换{ evt=evt | | window.event; evt.stopPropagation; ele.classList.toggle'col'; ele.classList.toggle'exp'; } $function{ $a[href='id=4'] .最接近$ul:hasdiv.col 。查找“div.col”。获取0.click; }; 上校{ 边框:3倍纯绿; } .exp{ 边框:3倍纯红; }
能够使用下面的代码让它自己工作

$("a[href='#id=4'").parentsUntil($("#list > ul" )).each(function() {
    if($(this).is("li"))
         $($(this).find(".exp").get(0)).trigger("click")
});

我不确定是否有更好的解决办法,但这目前正在发挥作用。

我可以自己使用下面的代码

$("a[href='#id=4'").parentsUntil($("#list > ul" )).each(function() {
    if($(this).is("li"))
         $($(this).find(".exp").get(0)).trigger("click")
});

我不确定是否有更好的解决办法,但这项工作目前正在进行。

您想要吗?只要$'list>ul'。css也可以。@Tushar我不想添加边框,我想更改css类或触发它们上的单击事件,我改进了我的问题,现在它有意义了吗?你想吗?只要$'list>ul'。css也可以。@Tushar我不想添加边框,我想更改css类或触发它们上的单击事件,我改进了我的问题,现在有意义了吗?非常感谢,我尝试了你的示例,但没有帮助,所以我想出了自己的答案非常感谢,我试过你的例子,但没用,所以我想出了自己的答案