Javascript .removeChild(子)似乎阻止了我的脚本运行

Javascript .removeChild(子)似乎阻止了我的脚本运行,javascript,Javascript,正如我在评论中提到的,我不清楚你剧本的目的或最终结果。据我所知,您有一个带有文本“注销”的按钮。单击此按钮后,您将显示一个输入框和“登录”按钮,如果再次单击,将返回“注销”。如果这是您的标准,那么下面的代码片段可能会很有用 JS HTML 注销 这是一个。让我知道它是否对您有帮助,以及是否需要任何更改。name元素的属性是什么?一旦删除,getElementById(“name”)返回null,null没有属性值…但这并不能解释为什么它会停止整个过程,元素消失了,但按钮从该点开始仍然不起任何

正如我在评论中提到的,我不清楚你剧本的目的或最终结果。据我所知,您有一个带有文本“注销”的按钮。单击此按钮后,您将显示一个输入框和“登录”按钮,如果再次单击,将返回“注销”。如果这是您的标准,那么下面的代码片段可能会很有用

JS

HTML


注销

这是一个。让我知道它是否对您有帮助,以及是否需要任何更改。

name元素的属性是什么?一旦删除
getElementById(“name”)
返回null,null没有属性
…但这并不能解释为什么它会停止整个过程,元素消失了,但按钮从该点开始仍然不起任何作用。即使我注释掉appendChild(child)标记,按钮也不起任何作用。对我来说,当这两行都注释掉时,按钮仍会切换其文本。@我也会斜视一下,但一旦元素被删除,脚本就没用了,如果没有输入框,你就不能为登录输入任何名称。
<div id="input">
<input type="text" id="name")"></input>
</div>

<button type="button" id="b1" onclick="changed('click',getElementById('name').value)" value="Log In">Log In</button>

<script>

function changed(action,val)
{
    var op
    var element = document.getElementById("input")
    var child = document.getElementById("name")
    if(action == "click")
    {
        e = document.getElementById("b1")
        if(e.value == "Log In")
        {
            //element.removeChild(child)
            op = "Log Out"
        }
        else if(e.value == "Log Out")
        {
            element.appendChild(child)
            op = "Log In"
        }
        e.value = op
        e.innerHTML = op
    }
}
</script>
function changed(elem,btn)
{
   var element = document.getElementById(elem);
    if(btn.value == 1){
     element.classList.remove('hide');
      element.classList.add('show');
       btn.value=2;  // Setting button value to 2 
      btn.textContent="Log In";
    }
    else if(btn.value ==2){
      element.classList.remove('show');
      element.classList.add('hide');
       btn.value=1;  // Setting button value to  
      btn.textContent="Log Out";

    }
}
<div id="input" class="hide">
<input type="text" id="name">
</div>

<button type="button" id="b1" onclick="changed('input',this)" value="1">Log Out</button>