2014-01-24 45 views
0
$(".menu dt a").click(function() { 

var clickedId = "." + this.id.replace(/^link/,"ul"); 

在上面的第二行,我想替換類ID,用這個代碼中的class替換id?

我試圖

var clickedId = "." + this.attr("class").replace(/^link/,"ul"); 

但上面的代碼不工作,給我在控制檯

以下錯誤

this.attr不是一個函數

任何提示如何使用類而不是id?

+1

'$(this)',而不是'this'有一個jQuery對象。 'this'是一個DOM元素 –

+0

將'this'作爲jquery對象'$(this)'包裝 – Jai

回答

3

您是不是要找

$(this).attr 

,而不是

this.attr 

在事件回調將返回HTML DOM元素,擁有jQuery對象this,使用$(this)

0

,你也可以使用this.className

var clickedId = "." + this.className.replace(/^link/,"ul"); 
//-------------------------^^^^^^^^^--this way