我真的需要在js的帮助下删除一些块。是否有可能不隐藏某些块,但完全删除它?
因为我有一个字段,用户将无法看到他是否在我的选择框中选择了“否”,但是JQuery验证仍会发送此字段为空的消息。
我有这个:
$(function () {
$("#wichonepmtofollow").hide();
$("#particularpmselect").change(function () {
// find the selected one
var selectedCountry = $(this).val();
if (selectedCountry == "yes") {
$("#wichonepmtofollow").show();
}
// otherwise hide it
else {
$("#wichonepmtofollow").hide();
}
});
});
而且:
<div id="wichonepmtofollow">
<div class="section" id="inputdiv">
<span class="fieldname">Which one?</span>
<input type="text" id="wichonepm" name="wichonepm" title="can't be empty" class="required" minlength="1"/> <!-- Nessesary to be filled-->
<script type="text/javascript">
var wichonepm = new LiveValidation('wichonepm');
wichonepm.add(Validate.Presence);
</script>
</div>
<div id="clear"></div>
</div>
喜欢而不是$(“#pleasespecify”)。hide();制作类似$(“#pleasespecify”)的内容。删除();或其他什么?
答案 0 :(得分:4)
$("#pleasespecify").remove();
是正确的(docs here)。
或者,您可以清空父母:
$("#wichonepmtofollow").empty();
编辑(由于OP的评论):
您可以保留已删除的对象,例如:
var savedObj = $("#pleasespecify").remove();
然后你可以稍后追加它:
$("#wichonepmtofollow").append(savedObj);
请注意,这也将取消绑定绑定到关联DOM元素的所有事件。要保持绑定所有事件,可以使用jQuery的detatch方法。
答案 1 :(得分:0)
[根据用户评论更新]
将html临时保存在变量中 -
if (selectedCountry == "yes") {
$("#wichonepmtofollow").html(temHtml);
}
else {
temHtml = $("#wichonepmtofollow").html();
$("#wichonepmtofollow").html('');
}
全球宣布temHtml
var temHtml;
答案 2 :(得分:0)
将html存储在临时变量中,然后从页面中删除:
var tempHtml;//declare tempHtml outside other script code so it's available later
然后,而不是$("#wichonepmtofollow").hide();
使用此:
tempHtml = $("#wichonepmtofollow").html();
$("#wichonepmtofollow").html(''); //empty the container
稍后恢复html:
$("#wichonepmtofollow").html(tempHtml);
答案 3 :(得分:0)
没有必要销毁任何东西,只需启用或禁用它,如果它被隐藏则不会被验证:
$(function () {
$("#wichonepmtofollow").hide();
$('#wichonepm').attr('disabled',true);
$("#particularpmselect").change(function () {
// find the selected one
var selectedCountry = $(this).val();
if (selectedCountry == "yes") {
$("#wichonepmtofollow").show();
$('#wichonepm').attr('disabled',false);
}
// otherwise hide it
else {
$("#wichonepmtofollow").hide();
$('#wichonepm').attr('disabled',true);
}
});
});