我无法解决为什么在ajax成功回调' .html()'不管用。目的是取代'''内容。这些类正被添加到元素中,但它的内容是空白的:
<td class="book-class centre cancelled"></td>
我已从页面中删除了所有其他脚本,以确保没有任何冲突,我已尝试删除.removeClass()和.addClass(),但它仍无法正常工作。花了两个小时盯着它后,我确信这最终会变得简单,但任何帮助都会非常感激。
$(document).ready(function() {
// Cancel Class
$(document).on('click', '.cancel-class', function(e) {
e.preventDefault();
var cell = this;
var row = $(this).parent();
var id = $(row).data('booking-id');
$(this).html('<img src="assets/images/spinner.gif" class="spinner" data-booking-id="'+id+'">');
$.ajax({
type: "POST",
url: "controllers/cancelClass.ctrl.php",
dataType: 'json',
cache: false,
data: {"id": id},
success: function() {
// NOT WORKING
$(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle></i> Cancelled');
},
error: function(data) {
console.log(data);
}
});
});
});
答案 0 :(得分:3)
也许这只是问题中的一个错字,但如果不是这肯定会成为一个问题。在以下行中:
$(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle></i> Cancelled');
你已经忘记了结束双引号。它应该是这样的:
$(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle"></i> Cancelled');