我已根據使用display: none
的ajax方法的響應隱藏了<div>
。如果我想在另一次調用AJAX方法時顯示相同的<div>
怎麼辦?如何在使用顯示時顯示分區:無
我想知道display: none
是否實際上從DOM中刪除元素,因爲使用display: block
不會使<div>
再次可見。如何使用display
屬性顯示和隱藏相同的div。下面是我使用AJAX調用的代碼:
$.ajax({
type: "POST",
url: "Request.aspx/FireEvents",
data: JSON.stringify({ controlValues: pageControlNamesAndValues }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var controlVals = response.d;
$.each(controlVals, function (index, currentControl) {
var targetDropDown = document.getElementById(ctrlName);
console.log('Targetdropdown is ' + targetDropDown);
if (targetDropDown != null) {
if (targetDropDown instanceof HTMLDivElement) {
if (currentControl.ControlName == "LogicChecks") {
if (currentControl.ControlValue = "hidden") {
targetDropDown.style.display = 'none';
} else {
targetDropDown.style.display = 'block';
}
}
}
}
});
}
});
最後一行(...style.display ='block';
)不顯示<div>
一旦被隱藏。
您可以確認調用了「成功」函數嗎?你能確認元素被發現嗎?您可以使用javascript調試控制檯(在任何主要瀏覽器中)來測試代碼行,看看它們是否對DOM有任何影響。 'display:none'不會從DOM中刪除元素。 –
現在就使用jQuery。 $(「#」+ ctrlName).show()'或'$(「#」+ ctrlName).hide()'假設你有ctrlName某處(我看不到它) – mplungjan
是的,成功方法總是執行。是的,該元素將在初始頁面加載時找到。但後來基於這個ajax響應,我們需要隱藏並顯示一些div的 – Programmerzzz