2014-03-04 42 views
2
<a href="#" class="myclass anotherclass" id="myid anotherid">Link</a> 

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

在這個例子中,我想要彈出一個警告,如下所示:「.myclass」。如何警告jQuery選擇器中單引號之間輸入的內容?

如何警告jQuery選擇器中單引號之間輸入的內容?

編輯:我只想提醒「myclass」。不「MyClass的anotherclass」

+1

'alert($(this).class);'? –

+0

您是否在使用警報進行調試? – jsalonen

+0

應該可能使用console.debug,console.log,.warn,.info,警報給我似乎只是在方式... –

回答

0

您可以嘗試

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

我忘了我的attr ... whoops ...我不經常在jquery中編寫代碼你可以嘗試... –

+0

是的,但是返回「myclass anotherclass」。我想只返回「myclass」。 – Derek

2

當點擊事件發生時,使用的是jQuery對象綁定它不再存在。元素和事件處理程序都沒有關於所使用的jQuery對象的任何信息。如果你想從jQuery對象的信息,你必須保持它:

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

這就是我所害怕的。 – Derek

0

我假設你想選擇到任何你用於綁定click事件該對象。對於通常的情況$object.selector做你的伎倆,但它甚至不會在$(this).selector工作,作爲一種解決方法,你可以發送像下面的參數;

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

爲什麼倒票? –

1

委派的處理程序,你可以得到事件對象的handleObj屬性的選擇特性:

$(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 
}); 
相關問題