function CondtionalCheck(BaseControlID, ChildControlID, Condition) {
if ($("#" + BaseControlID).is(':checked')) {
$("#div" + ChildControlID).show();
} else {
$("#div" + ChildControlID).hide();
$("#" + ChildControlID).val("");
}
}
以上是我的hide()
和show()
功能。元素隐藏后,它会删除空格,但它并没有真正删除所有空格。
是什么导致这种情况发生?
答案 0 :(得分:0)
hide()
函数会将DOM元素的样式设置为visibility: hidden
。这相当于在普通的非jQuery javascript中说myElement.style.visibility = 'hidden';
。
但隐藏的元素仍然包含在" flow"正如您清楚看到的那样,页面的(或布局)。您需要设置的是the display
CSS property。我不确定jQuery函数会是什么,但在常规javascript中它是myElement.style.display = 'none';
。这实际上会从" flow"中删除你的元素。 (或布局)网页。
答案 1 :(得分:0)
方法show()
和hide()
设置元素的可见性。如果您想完全隐藏DOM元素,那么最好使用方法css()
。
您的代码将如下所示:
function CondtionalCheck(BaseControlID, ChildControlID, Condition) {
if ($("#" + BaseControlID).is(':checked')) {
$("#div" + ChildControlID).css('display', 'block');
} else {
$("#div" + ChildControlID).css('display', 'none');
$("#" + ChildControlID).val("");
}
}