类似treeview
如下列代码 原来有3行  ,参数即为id<table>
<tr id="1"><td Onclick="GetChildrenNode(1)">1<td></tr>
<tr id="2"><td Onclick="GetChildrenNode(2)“>2<td></tr>
<tr id="3"><td Onclick="GetChildrenNode(3)”>3<td></tr>
</table>
当我点击2的时候 通过ajax请求获得到<tr id="21"><td>21<td></tr>
那照理说应把他放成这样<table>
<tr id="1"><td Onclick="GetChildrenNode(1)">1<td></tr>
<tr id="2"><td Onclick="GetChildrenNode(2)“>2<td></tr>
<tr id="21"><td>21<td></tr>
<tr id="3"><td Onclick="GetChildrenNode(3)”>3<td></tr>
</table>这个要怎么放?

解决方案 »

  1.   

    有个dom对象有个insertBefore的方法 用它就行了 你可以想一想
      

  2.   

    id不要以数字开头,还有后面的不要使用中文括号和引号。
    回调中写
    $('#trId').after('<tr id="21"><td>21<td></tr>');
      

  3.   

    javascript版:<script type="text/javascript">
    function insertAfter(newElement, targetElement){ 
    var parent = targetElement.parentNode; 
    if (parent.lastChild == targetElement) { 
    // 如果最后的节点是目标元素,则直接添加。因为默认是最后 
    parent.appendChild(newElement); 

    else { 
    parent.insertBefore(newElement, targetElement.nextSibling); 
    //如果不是,则插入在目标元素的下一个兄弟节点 的前面。也就是目标元素的后面 

    }
    function GetChildrenNode(name)
    {
    var obj=document.getElementById(name);
    var tr=document.createElement("tr");
    var td=document.createElement("td");
    td.appendChild(document.createTextNode("21"));
    tr.appendChild(td);
    insertAfter(tr,obj);
    }
    </script>Jquery版:<script type="text/javascript">
    function GetChildrenNodeJquery(name){
    var obj=document.getElementById(name);
    $(obj).after("<tr id=21><td>21<td></tr>");
    }
    </script>