2013-10-29 54 views
1

我正在使用backbone。 在我的模板中,我有----如何使用javascript返回DOM元素的ID,而不是元素的值

<a href="#" id='<%= member.get("person").id%>'><%= member.get('person').name%></a> 

該ID是動態設置的。我需要使用該id作爲變量來進行JSON調用。

我已經嘗試了一些東西 -

$('a').click(function(){ 
     var memberId = $(this).attr("id"); 
     console.log(memberId); 
    }) 

$('a').click(function(){ 
     var ID = this.attr('id'); 
     console.log(); 
    }) 

和一些其他變化。

對此提出建議?

感謝您的所有回覆。

我應該提到,我正在試圖在文檔中的這些東西,只是爲了看看它是否會起作用。我的不好,這是我在這裏的第一篇文章。最終,功能應該在我看來(我認爲)。因此,它應該看起來更像是這一點 -

memberId: function(event){ 
    $(this).attr('id'); 
} 

其中,又沒有工作.....

+3

只要'this.id'就可以了。 –

+0

http://stackoverflow.com/questions/48239/getting-the-id-of-the-element-that-fired-an-event-using-jquery 這是你在找什麼? – vitallish

+0

你在第一個例子中有什麼工作很好。演示:http://jsfiddle.net/Guffa/4cq4b/ – Guffa

回答

0

第一個版本應該可以工作,但我對你的代碼有一個小小的評論。如果可以,請儘量不要使用它。 jquery將事件對象作爲參數傳遞給事件處理函數,因此您可以通過類似於

$('#test')。click(function(el){console .log(「here:」+ $(el.target).attr('id'))})strong text

0
var memberId = $(this).attr("id"); 

在這裏你的第一個例子應該工作。

this.id 

也應該工作。

如果你沒有看到輸出它的可能是你的id被設置爲空字符串。也許嘗試添加一些文本來測試它?

console.log("ID: "+this.id); 
0

再次感謝您的快速回復。

下面的代碼工作 -

memberId: function(event){ 
    memberId = this.model.get('id'); 
    console.log(memberId); 
} 

再次,我使用的骨幹。所以上面是一個視圖中的方法。下面 是必要的一塊

this.model.get('id'); 

我想這...

this.get('id'); 

應的文件準備工作。

我會盡量在將來更加清楚。再次感謝...

相關問題