0
<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

4 に答える 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 に答える