如何提醒jQuery选择器中单引号之间输入的内容?

时间:2014-03-04 22:15:57

标签: jquery jquery-selectors selector

<a href="#" class="myclass anotherclass" id="myid anotherid">Link</a>

$('.myclass').click(function () {
    var foo = '';
    alert(foo);
});

在这个例子中,我想要弹出一个警告:“。myclass”。

如何提醒jQuery选择器中单引号之间输入的内容?

编辑:我想只提醒“myclass”。不是“myclass anotherclass”

4 个答案:

答案 0 :(得分:2)

当click事件发生时,用于绑定它的jQuery对象不再存在。元素和事件处理程序都没有关于所使用的jQuery对象的任何信息。如果你想要jQuery对象的信息,你必须保留它:

var c = $('.myclass');
c.click(function () {
  alert(c.selector);
});

答案 1 :(得分:1)

对于委托处理程序,您可以获取事件对象的handleObj属性的selector属性:

$(document).on('click', '.myclass', function (e) {
    console.log(e.handleObj.selector); // => .myclass
});

但请注意,对于直接附加处理程序,选择器将为null,您需要使用@ Guffa的workaround

$('.myclass').click(function(e) {
    console.log(e.handleObj.selector); // => null  
});

答案 2 :(得分:0)

你可以尝试

alert($(this).attr('class'));

答案 3 :(得分:0)

我假设您希望将选择器放到用于绑定click事件的对象上。对于通常的情况$object.selector做你的伎俩,但它甚至不能在$(this).selector中工作,所以作为一种解决方法,您可以发送如下的参数;

var a = $('.myclass')
a.click({sel : a.selector}, function () {
    alert(this.sel);
});
alert($('.myclass').selector)