jQuery - 如何获取没有前缀的选择器的字符串值

时间:2012-04-10 07:50:55

标签: jquery string jquery-selectors

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

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

thx

1 个答案:

答案 0 :(得分: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方法绑定click,而不是通过Jquery的click函数立即绑定。

您可以在jsfiddle http://jsfiddle.net/DFh7z/21/

中看到示例