在DOM中删除和追加
Removing and Appending in the DOM
我处理这个问题已经有一段时间了,似乎无法解决。我有一个复选框,选中后会删除包含文本框的div。如果取消选中该复选框,则上述文本框应返回页面。删除有效,但附加无效。
这就是我目前正在使用的代码:
$('#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();
});
然而,我需要重新创建的功能实际上是删除该文本框中的数据,使其无法在网站上访问,同时隐藏文本框本身。这并不提供该功能。
当前示例
开始:http://jsfiddle.net/cx96g/5/
你的问题是,你试图在点击中设置父项,但一旦删除子项,就会失败。
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);
}
});
您需要显示和隐藏未删除的TextBox。
$('#ResultsNoData1').click(function () {
if (this.checked) {
$("#Results1").hide();
}
else {
$("#Results1").show();
}
});
工作示例
$('#ResultsNoData1').click(function () {
(this.checked) ? $('#Results1').val('').parent().hide() : $('#Results1').parent().show();
(this.checked) ? $('.results1casual').hide() : $('.results1casual').show();
});
JSFiddle
您做得很好,但缺少一件需要从文本框中删除值的小事。
$('#ResultsNoData1').click(function () {
(this.checked) ? $('.results1').hide() : $('.results1').show().val("");
});
或
$('#ResultsNoData1').click(function () {
(this.checked) ? $('.results1').hide().val("") : $('.results1').show();
});
这是显示/隐藏文本区域的正确方式。
相关文章:
- 在追加和删除元素时启动 CSS 动画
- 问题在于克隆、拼接、删除、追加 jquery 函数
- 如何使用 SetTimeout,根据动态追加时间删除动态追加的元素
- 如何使用 JQuery 切换 DIV 后删除追加的元素
- 拖放区将动态属性追加到 #dz 删除
- 在上计数和下计数时追加和删除元素
- 在 jQuery 切片后重新追加列表项并删除
- 删除父元素并重新追加子元素
- 使用 jQuery 上的追加按钮删除追加的文本
- 追加子项删除样式
- 通过 nodejs 追加到文件时从输出中删除 ^M
- 追加到数据选择器的值,然后从中删除
- 在按钮第二次单击时删除追加的样式表
- 如何在隐藏字段中追加和删除复选框值
- JQuery 复制/追加元素,删除了基本对象
- 使用 jQuery 追加和删除内容
- 如何在追加到另一个元素之前使用 Jquery/Javascript 从选择中删除一个元素
- 追加到 JSON 响应中.我应该如何删除它
- 在DOM中删除和追加
- jQuery追加删除标签