<body>
<ul><li onClick="myFunction(this.id)" id="root">Root</li></ul>
<script>
function myFunction(myid) //id of clicked li
{
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
var node=document.createElement("LI"); //new li
node.setAttribute("id",id);//set id of new li
node.setAttribute("onclick","myFunction(this.id)");//set onclick event of new li
var textnode=document.createTextNode(val);//li value
node.appendChild(textnode);// new li + li value
ulnode.appendChild(node);// new li + li value
document.getElementById(myid).appendChild(ulnode);//old+new
}
}
</script>
</body>
4 に答える
0
<a></a>
次のように、テキストを で囲んでみてください。
<ul>
<li><a onclick="return test()">child</a></li>
</ul>
このjsfiddleを参照してください:http://jsfiddle.net/gongzhitaao/k4UEE/3/
<li>
試してみましたが、 withが機能しない理由がonclick
わかりません。
于 2013-11-12T22:50:59.450 に答える
0
クリックなどのイベントは、すべての親を通じて DOM をバブルアップ (伝播) します。
同じクリック ハンドラーを持つ親を持つ子をネストしているため、イベントは最初myFunction
に子で発生し、次に親で発生します。
泡立ちを防止するためにfalse
から戻すことができますmyFunction
于 2013-11-12T22:37:50.907 に答える