如何使用onclick javascript动态添加,删除列表中的节点
How to dynamicallly add, delete node in list using onclick javascript
我希望每个文件夹旁边有 2 张图像。第 1 张图像,单击该图像时可以创建其子文件夹。第 2 张图像,单击哪个文件夹本身及其所有子文件夹被删除
这是我的代码。它可以创建子文件夹,但不能删除。我是JavaScript的新手...帮帮我
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Javascript Directory code</title>
<style>
ul
{
list-style-image:url('closed.gif');
}
</style>
</head>
<body>
<ul>
<li onClick="myFunction.call(this, event)" id="root">Root</li>
</ul>
<script language="javascript" type="text/javascript">
function myFunction(e)
{
e.stopPropagation();
var id=prompt("Enter Folder id");
if (id != '' && id != null)
{
var val=prompt("Enter Folder name");
}
if (id != '' && id != null && val !='' && val !=null)
{
var ulnode=document.createElement("UL"); //new ul<br>
var node=document.createElement("LI"); //new li<br>
node.id = id;//set id of new li <br>
node.onclick = myFunction;//set onclick event of new li<br>
var textnode=document.createTextNode(val);//li value<br>
node.appendChild(textnode);// new li + li value<br>
ulnode.appendChild(node);// ul + li value
this.appendChild(ulnode);
}
}
</script>
</body>
</html>
这可能有效:
function myFunction(e)
{
e.stopPropagation();
var id=prompt("Enter Folder id");
if (id != '' && id != null)
{
var val=prompt("Enter Folder name");
}
if (id != '' && id != null && val !='' && val !=null)
{
var ulnode=document.createElement("UL"); //new ul<br>
var node=document.createElement("LI"); //new li<br>
node.id = id;//set id of new li <br>
node.onclick = myFunction;//set onclick event of new li<br>
var anc=document.createElement("A"); //new li<br>
anc.innerHTML = "---";
anc.onclick = deleteNode;
node.appendChild(anc);// new li + li value<br>);// new li + li value<br>
var textnode=document.createTextNode(val);//li value<br>
node.appendChild(textnode);// new li + li value<br>
ulnode.appendChild(node);// ul + li value
this.appendChild(ulnode);
}
}
function deleteNode(e){
e.stopPropagation();
var caller = e.target || e.srcElement;
var childToRemove = caller.parentNode.parentNode;
childToRemove.parentNode.removeChild(childToRemove);
}
如果你要使用jQuery,你可以在函数中使用$('#id-of-folder').remove();
将其从DOM中删除。
相关文章:
- 从多选列表中删除
- 如何在NativeScript中从列表中删除项目时设置动画
- "改变“;列表头,然后继续处理列表
- 正在从列表中删除对象
- orderBy$filter在项目删除(拼接)后阻止ng重复列表更新
- 为什么jQuery appendTo会删除现有的列表项
- 如何删除列表表 tr 中已存在的值
- 下拉列表删除类不起作用
- 我的播放器播放列表删除功能不起作用
- 从 ui-grid 中的可展开行中删除列标题
- Telerik 剑道下拉列表删除项目
- 正则表达式删除列“|”字符
- 如何使用Java或jQuery隐藏/删除列的一部分,我无法访问HTML和建议
- JQuery动态添加/删除列/行
- 如何使用jquery通过单击单元格来删除列
- 剑道ui下拉列表删除特定项目
- 如何在JQuery数据表中删除列
- 如何向dataTables添加删除列"aoColumns"在基于条件的渲染中
- jquery如何从表中删除列
- 使用Javascript动态删除html行和删除列