如何返回jQuery中的元素类?

问题描述:

我想将一个元素的类发送给一个函数。基本上,我需要告诉showAjaxLoader()它应该显示被点击元素的加载图标!如何返回jQuery中的元素类?

jQuery(function($) { 
    var showAjaxLoader = function(selector) { 
     $(selector).empty().html('<img src="loading.gif" />'); 
     }; 

    $(".add") 
     .bind("ajax:beforeSend", function(event, data, status, xhr) { 
      var class = this.class; 
      showAjaxLoader(class); 
    }); 
}); 

class是一个JavaScript reserved word,所以你不能把它作为一个变量名。它不作为元素的属性可用:您需要改用className属性。

jQuery(function($) { 
    var showAjaxLoader = function(message) { 
      alert(message) 
     }; 

    $(".add") 
     .bind("ajax:beforeSend", function(event, data, status, xhr) { 
      var className = this.className; 
      showAjaxLoader(className); 
    }); 
}); 
+0

太棒了。有用。如果我想要父级的类名称,该怎么办?我试过var selector = this.parent.className;但不会工作:/ – Mohamad 2011-05-08 11:38:24

+2

@Mohamad'this.parentNode.className'。或者,jQuery风格,'$(this).parent()。attr('class')'。 – lonesomeday 2011-05-08 11:39:29