[英]Trying to remove class remove html element after successful ajax post
我试图在成功发布后从元素中删除 class 。 下面的代码为方便起见进行了简化,并未删除 class。
我不确定问题是什么。
页面元素:
<div class="hide-lorem form-group row" id="LoremId">
<div class="col-lg-10">
Lorem
</div>
</div>
Javascript
$.ajax({
type: "POST",
url: url,
data: $("#LoremHandler").serialize(),
success: function (data) {
var tr = "";
$("#LoremId").removeClass("hide-lorem");
//Append each row to html table
for (var i = 0; i < data.Jumps.length; i++) {
var date = dateFormatter(data.Jumps[i].LoremDate);
tr = $("<tr/>");
tr.append("<td>" + date + "</td>");
tr.append("<td>£" + data.Jumps[i].LoremPlace + "</td>");
$("table").append(tr);
}
},
failure: function(response) {
alert(response.responseText);
},
error: function(response) {
alert(response.responseText);
}
});
有几件事要强调。
问题:您正试图从一个ID
中删除类,因为您可能在页面上有其他同名的 ID。
原因:使用ID
并不理想,因为我假设您可能有其他同名的 ID。 这导致了这个问题。
简单且建议的解决方法:我建议将class
添加到您的元素中,然后从该元素中删除Class removeClass()
。 我还在您的div
中添加了一个 LoremId 作为 class 。
请参阅下面的工作代码:
$.ajax({ type: "POST", url: url, data: $("#LoremHandler").serialize(), success: function(data) { var tr = ""; $(".LoremId").removeClass("hide-lorem"); //Append each row to html table for (var i = 0; i < data.Jumps.length; i++) { var date = dateFormatter(data.Jumps[i].LoremDate); tr = $("<tr/>"); tr.append("<td>" + date + "</td>"); tr.append("<td>£" + data.Jumps[i].LoremPlace + "</td>"); $("table").append(tr); } }, failure: function(response) { alert(response.responseText); }, error: function(response) { alert(response.responseText); } });
<div class="hide-lorem form-group row LoremId" id="LoremId"> <div class="col-lg-10"> Lorem </div> </div>
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.