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