jQuery .html没有在表格单元格上工作

时间:2016-07-26 17:19:57

标签: javascript jquery

我无法解决为什么在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);
         }
      });

   });

});

1 个答案:

答案 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');