Javascript 在DOM中删除和追加
这个问题我已经研究了一段时间了,但我似乎无法解决它。我有一个复选框,当选中时,会删除包含文本框的div。取消选中该复选框后,上述文本框应返回页面。删除可以工作,但追加不能 这就是我目前在代码方面的工作:Javascript 在DOM中删除和追加,javascript,jquery,dom,Javascript,Jquery,Dom,这个问题我已经研究了一段时间了,但我似乎无法解决它。我有一个复选框,当选中时,会删除包含文本框的div。取消选中该复选框后,上述文本框应返回页面。删除可以工作,但追加不能 这就是我目前在代码方面的工作: $('#ResultsNoData1').click(function () { var parent = document.getElementById('Results1').parentNode; var child = document.getElementById('R
$('#ResultsNoData1').click(function () {
var parent = document.getElementById('Results1').parentNode;
var child = document.getElementById('Results1');
if (this.checked) {
parent.removeChild(child);
}
else {
parent.appendChild(child);
}
});
我的原始设计是通过以下方式实现的:
$('#ResultsNoData1').click(function () {
(this.checked) ? $('.results1').hide() : $('.results1').show();
});
但是,我需要重新创建的功能实际上是从该文本框中删除数据,使其无法在站点上访问,同时隐藏文本框本身。这并没有提供那种功能
给你:
您的问题是,您试图在单击中设置父项,但一旦删除子项,它将失败
var parent = document.getElementById('Results1').parentNode;
var child = document.getElementById('Results1');
$('#ResultsNoData1').click(function () {
if (this.checked) {
node = parent.removeChild(child);
}
else {
parent.appendChild(child);
}
});
给你:
您的问题是,您试图在单击中设置父项,但一旦删除子项,它将失败
var parent = document.getElementById('Results1').parentNode;
var child = document.getElementById('Results1');
$('#ResultsNoData1').click(function () {
if (this.checked) {
node = parent.removeChild(child);
}
else {
parent.appendChild(child);
}
});
您需要显示和隐藏该文本框,而不是删除该文本框
$('#ResultsNoData1').click(function () {
if (this.checked) {
$("#Results1").hide();
}
else {
$("#Results1").show();
}
});
您需要显示和隐藏该文本框,而不是删除该文本框
$('#ResultsNoData1').click(function () {
if (this.checked) {
$("#Results1").hide();
}
else {
$("#Results1").show();
}
});
您的做法是正确的,但缺少一件小事,需要从文本框中删除值
$('#ResultsNoData1').click(function () {
(this.checked) ? $('.results1').hide() : $('.results1').show().val("");
});
或
这是正确的路线显示/隐藏文本区域 您做得很对,但缺少一件小事需要从文本框中删除值
$('#ResultsNoData1').click(function () {
(this.checked) ? $('.results1').hide() : $('.results1').show().val("");
});
或
这是正确的路线显示/隐藏文本区域 为什么不先设置子对象,然后获取相对于它的父对象?Cmon人@因为我不想完全重组他的代码。一步一个脚印。你的不起作用,因为一旦你在点击功能中删除了子项。那么下次调用click事件时,它将无法设置父变量,因为DOM中不再存在子变量。为什么不先设置子变量,然后获取相对于它的父变量?Cmon人@因为我不想完全重组他的代码。一步一个脚印。你的不起作用,因为一旦你在点击功能中删除了子项。然后下次调用click事件时,它无法设置父变量,因为DOM中不再存在子变量。如果删除它,它将消失。您不能再添加它。你必须添加一个新的文本框,或者根本不删除它,而是隐藏它。只是出于好奇,为什么你对一些位使用纯Javascript,对其他位使用jQuery?我混合使用Javascript和jQuery,因为老实说,我是个糟糕的程序员。我想两者都用对我的学习会有好处。如果你把它拿走,它就不见了。您不能再添加它。你必须添加一个新的文本框,或者根本不删除它,而是隐藏它。只是出于好奇,为什么你对一些位使用纯Javascript,对其他位使用jQuery?我混合使用Javascript和jQuery,因为老实说,我是个糟糕的程序员。我认为两者都会对我的学习有所帮助。就像@Harshittailer的答案一样,只需认真努力,使其可读性和理论效率更低。就像@Harshittailer的答案一样,只需认真努力,使其可读性和理论效率更低。或者$Results1.toggle!this.checked或$Results1.toggle!这个,检查过了