2

假设字符串'unenable-item'被用作选择器中字符串的一部分,我如何获取它,例如:

$('.unenable-item').click(function(){
  alert($(this).val());
});

谢谢

4

1 回答 1

3
$('.unenable-item').click(function(){
  alert($(this).attr("class"));
});

或更通用的方式

$('.unenable-item').click(function(){
  alert($('.unenable-item').selector);
});

在这种情况下,您将获得.unenable-item并且您必须使用该字符串并获得您想要的子字符串。

编辑:

.selector属性不能使用$(this)并且将始终返回空字符串,因为它每次都会创建新对象。所以我找到了解决方案。解决方案是为绑定事件创建新函数并使用该函数而不是简单的 jquery 函数。

用法

jQuery.fn.addEvent = function(type, handler) {
    this.bind(type, {'selector': this.selector}, handler);
};

在此之后你可以简单地得到你的选择器

$('.unenable-item').addEvent('click', function(event) {
        alert(event.data.selector);
});

请注意,我使用addEvent绑定单击的方法,而不是通过 Jquery 的click函数立即绑定。

您可以在 jsfiddle http://jsfiddle.net/DFh7z/21/中查看示例

于 2012-04-10T07:55:50.500 回答