Javascript 要将展开和折叠功能添加到动态生成的文件作为父节点吗 我正在开发一个网页,其中我将一个testsuite文件显示为parentnode,testsuite文件中的用例是子节点。。我正在向父节点和子节点添加复选框。我想要的是,我想向父节点添加展开和折叠选项。默认当页面加载时,它应该折叠,当我单击该父节点时,它应该折叠。plzz我尝试了许多方法,但我无法获得。。任何帮助都将不胜感激。。提前谢谢 //createTree(treeid,enablepersist,opt_persist_in_days(默认值为1)) 函数getAlldetails() { var-xmlhttp; xmlhttp=新的XMLHttpRequest(); //警惕(“你好”); //警报(“正常”); //创建异步GET请求 open(“GET”, "http://localhost:8080/sample/Husky?action=profilevalues“,对); //警惕(“检查”); xmlhttp.send(); //警报(“发送请求后”); xmlhttp.onreadystatechange=函数(){ //警报(“就绪状态::”+xmlhttp.status); if(xmlhttp.readyState==4){ if(xmlhttp.status==200){ var response=xmlhttp.responseText; var data=eval(“+response+”);//获取json数据 //警报(数据); var rootinfo=data.rootdirectory; var dir=rootinfo.root; //警报(rootinfo.root); var allfiles=data.listfiles; //警报(所有文件); //将列表本身列为 var listElement=document.getElementById(“treemenu1”); innerHTML=dir; var breakinfoone=document.createElement(“br”); setItem(“filetwo”,即“”); appendChild(breakinfoone); 对于(var i=0;i

Javascript 要将展开和折叠功能添加到动态生成的文件作为父节点吗 我正在开发一个网页,其中我将一个testsuite文件显示为parentnode,testsuite文件中的用例是子节点。。我正在向父节点和子节点添加复选框。我想要的是,我想向父节点添加展开和折叠选项。默认当页面加载时,它应该折叠,当我单击该父节点时,它应该折叠。plzz我尝试了许多方法,但我无法获得。。任何帮助都将不胜感激。。提前谢谢 //createTree(treeid,enablepersist,opt_persist_in_days(默认值为1)) 函数getAlldetails() { var-xmlhttp; xmlhttp=新的XMLHttpRequest(); //警惕(“你好”); //警报(“正常”); //创建异步GET请求 open(“GET”, "http://localhost:8080/sample/Husky?action=profilevalues“,对); //警惕(“检查”); xmlhttp.send(); //警报(“发送请求后”); xmlhttp.onreadystatechange=函数(){ //警报(“就绪状态::”+xmlhttp.status); if(xmlhttp.readyState==4){ if(xmlhttp.status==200){ var response=xmlhttp.responseText; var data=eval(“+response+”);//获取json数据 //警报(数据); var rootinfo=data.rootdirectory; var dir=rootinfo.root; //警报(rootinfo.root); var allfiles=data.listfiles; //警报(所有文件); //将列表本身列为 var listElement=document.getElementById(“treemenu1”); innerHTML=dir; var breakinfoone=document.createElement(“br”); setItem(“filetwo”,即“”); appendChild(breakinfoone); 对于(var i=0;i,javascript,ajax,html,Javascript,Ajax,Html,定义一个CSS类,例如“collapsed”,它将隐藏列表元素中的列表项。然后在单击列表元素时切换该类: listElement.onclick = function() { this.classList.toggle("collapsed"); } Js小提琴- 当然,单击列表中的元素会触发单击列表本身并切换。如果这不是所需的行为,请考虑将列表包装到div中,例如: <div class="container"> <div class="toggler">

定义一个CSS类,例如“collapsed”,它将隐藏列表元素中的列表项。然后在单击列表元素时切换该类:

listElement.onclick = function() {
  this.classList.toggle("collapsed");
}
Js小提琴-

当然,单击列表中的元素会触发单击列表本身并切换。如果这不是所需的行为,请考虑将列表包装到div中,例如:

<div class="container">
    <div class="toggler">Toggles the lsit</div>
    <ul class="collapsed">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</div>

切换lsit
  • 一,
  • 二,
  • 三,
  • 四,
  • 五,

我认为您正在ajax调用成功中创建父节点和子节点。 因此,只有在将事件添加到DOM中之后,才能附加事件

您可以使用jQuery“On”方法访问父节点

$(“正文”)。在(“单击”,“父元素\选择器”,函数()上){

//切换父类

}))


如果不使用jQuery,则添加ptworkinfo.onclick=function(){If(ptworkinfo.className.indexOf(“expand”)=-1{ptworkinfo.className=ptworkinfo.className+“expand”;}否则{ptworkinfo.className.replace(/\bexpand\b/,'');}}这个扩展类应该扩展您的childnode。您能解释清楚吗?className指明了哪个类名??
<div class="container">
    <div class="toggler">Toggles the lsit</div>
    <ul class="collapsed">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</div>