2014-03-29 56 views
0

好的,这是我正在尝试做的......创建一个删除按钮以及在创建段落时使用DOM进行编辑。但是,删除按钮似乎总是被删去第一款,而不是删除相应的段落。这里是我的代码:DOM创建的删除按钮无法正常工作

Javascript:

function writePara() 
{ 
    var comment = document.getElementById("usrinput").value; 
    var newParagraph = document.createElement('p'); 
    newParagraph.textContent = comment; 
    document.getElementById("updateDiv").appendChild(newParagraph); 

    var button = document.createElement("button"); 
    var Btext=document.createTextNode("EDIT"); 
    button.appendChild(Btext); 
    document.getElementById("updateDiv").appendChild(button); 

    button.onclick = 
    (
     function() 
     { 
    var edit = prompt("Type to edit", ""); 
    newParagraph.innerHTML = edit; 
     } 
    ); 
    var button2 = document.createElement("button"); 
    var Btext2=document.createTextNode("DELETE"); 
    button2.appendChild(Btext2); 
    document.getElementById("updateDiv").appendChild(button2); 
    button2.onclick = 
    (
     function() 
     { 

    var items = document.querySelectorAll("#updateDiv p"); 
     if (items.length) 
    { 
     var child = items[0]; 
     child.parentNode.removeChild(child); 
    } 
    button.parentNode.removeChild(button); 
    button2.parentNode.removeChild(button2); 
     } 


    ); 
    addBr(); 
    } 

而且HTML:

<body onload="radio()"> 

    <div id="paraButton" align="left"> 


     <form><h3>Enter your Paragraph content here:</h3> 
<textarea cols="20" rows="10" id="usrinput">Enter your texts here...</textarea> 
     </form> 


<form id="one"><input type="button" value="Apply" onclick="writePara()"/></form> 
     <div id="updateDiv" name ="update"><h1>Space for Paragraph</h1>  </div> 

    </div> 

    <div id="radioButton"> 

     <h3>Type your radio button here:</h3> 
     <input type="text" name="option" id="option" value="Example 1" /> 
     </br></br> 
     <button id="AddButton">Add</button> 
     <button id="RemoveButton">Remove</button> 
     </br></br></br></br></br></br></br></br> 

     <div id="updateDivRadio"><h1>Space for Radio Button</h1></div> 
    </div> 
</body> 

PS:在radio()功能很好地工作,这只是我有问题的一部分。

+0

这里有一个[的jsfiddle(http://jsfiddle.net/TaQQ5/)与您提供的代码 - 你介意加入一些代码,使工作的例子,所以我们可以找出问题? – kmoe

+0

@kmoe感谢小提琴,但它没有正常运行我的整个代码的功能。例如,当我点击“应用”时,它会在输入区域的文本中创建一个新的段落,但在小提琴中没有任何反应。 – envyM6

+1

@kmoe [My Fiddle](http://jsfiddle.net/nadz006/72ex5/show/)。 – envyM6

回答

0

好的我得到它的工作与他人的帮助,所以决定在这里分享... 改变button2.onclick到这个作品。

button2.onclick = 
(
function() 
{ 
    newParagraph.parentNode.removeChild(newParagraph); 
    button.parentNode.removeChild(button); 
    button2.parentNode.removeChild(button2); 
} 
);