Javascript 在jQuery中单击delete按钮时需要隐藏整个表行

Javascript 在jQuery中单击delete按钮时需要隐藏整个表行,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQueryAjax方法开发一个应用程序,并试图通过单击delete按钮来删除表行。php的后端部分很好,但我尝试应用的是单击事件时隐藏或淡出jquery方法,但无法获得结果。请参阅以下代码: $'.deletePageBtn'。在“单击”时,函数E{ e、 防止违约; 如果确认“是否确实要删除此页面?”{ var pageId=$this.datapageid; $.ajax{ 网址:, 键入:“POST”, 数据:{ 操作:删除页面, pageId:pageId }, 成功:fu

我正在使用jQueryAjax方法开发一个应用程序,并试图通过单击delete按钮来删除表行。php的后端部分很好,但我尝试应用的是单击事件时隐藏或淡出jquery方法,但无法获得结果。请参阅以下代码:

$'.deletePageBtn'。在“单击”时,函数E{ e、 防止违约; 如果确认“是否确实要删除此页面?”{ var pageId=$this.datapageid; $.ajax{ 网址:, 键入:“POST”, 数据:{ 操作:删除页面, pageId:pageId }, 成功:functiondata{ 如果数据==“成功”{ $this.parent.parent.remove; } 控制台日志数据; }, 错误:functiondata{ 控制台日志数据; } }; }; }; 3. Pawan Mall-互联网极客123
这里的问题在于ajax的成功:

success: function(data) {
   if (data == 'success') {
      $(this).parent().parent().remove();
   }
   console.log(data);
},
这是指Ajax调用的jqXHR对象。它不再是相同的$'.deletePageBtn'元素。要使其正常工作,您可以在开始时将其缓存在单击事件中,如:

var $this = $(this);
然后在成功内部使用它,如:

success: function(data) {
   if (data == 'success') {
      $this.parent().parent().remove();
   }
   console.log(data);
},
或者更好:

success: function(data) {
   if (data == 'success') {
      $this.closest('tr').remove();
   }
   console.log(data);
},
这个$this.parent.parent.remove不应该吗;为$this.parent.parent.parent.remove;由于单击的元素是、?的后代?当然,正如你所说,更好的选择是最接近的“tr”。