2011-12-24 44 views
0

我的目標是通過單擊它來檢索錨標記的文本。我希望這是一個不內聯的函數。示例

function getText(){ 

alert($('this.a').text()); 

} 

我知道上述不起作用的B/C我已經嘗試過了。

我不希望這是由id,因爲我希望它可以在單擊時處理所有'a'元素。當我使用:

function getText(){ 

alert($('a').text()); 

} 

它返回我頁面上所有'a'標籤內的所有文本。我想要完成的僅僅是返回我單擊的錨標記的文本。我認爲這與使用$(this)和'a'標籤有關,但我似乎無法弄清楚。

再次我想能夠爲我的頁面上的所有標籤調用此函數,而不必爲每個id編寫函數,這就是爲什麼我想使用「this」。謝謝。

回答

1

你只是想$(this).text()

function getText() { 
    alert($(this).text()); 
} 

,當然,你要處理像這樣的事件:

$('a').click(getText); 
0

這只是同一個單獨的功能,因爲它會與在線一:

$("selector_for_the_anchors_in_question").click(clickHandler); 

function clickHandler() { 
    alert($(this).text()); 
} 

jQuery確保當處理程序被調用時,this被設置爲處理程序被掛鉤的元素,當然還有爲您使用$()(或jQuery()處於noConflict模式)的元素獲取jQuery包裝器。

0

這jQuery是不夠的:

$('a').click(function() { 
    alert($(this).text()); 
}); 

JSFiddle

0

你無論如何都必須綁定功能click事件。

function getText(){ 
    alert($(this).text()); // `this` is the element clicked 
    return false; // prevent navigating 
} 

$("a").click(getText); // bind function to all <a> elements 

這不是這樣內聯,但老實說,我沒有看到這樣做的理由。