2009-09-18 52 views
1

我正在尋找使用Javascript或jQuery從已經在HTML中單擊的特定圖像中拉出alt標記並將其值複製到標題字段。Pulling alt's value

function change_image(diff){ 
    var newAlt = $(this).attr('alt'); 
    position = (position + diff + hrefs.length) % hrefs.length; 
    revealImage(hrefs[position]); 
    $nav.find('.counter').html(newAlt); 
} 

這是我迄今爲止,並沒有工作。

+1

顯示值似乎是正確的。什麼和哪裏是你的問題? – ybo 2009-09-18 16:00:24

+0

我發佈的代碼不會拉動alt標籤。當我運行我的頁面時,應該顯示alt標記的內容區域爲空。我不確定問題出在哪裏。我會嘗試運行一個簡單的警報,看看它是否至少拉動ALT值。也許這將幫助我確定問題是否與檢索alt值或發佈值有關。 – Slevin 2009-09-18 18:23:17

+0

好的。我的提醒返回了'未定義'的值。所以這個問題必須存在於alt標籤檢索中。 – Slevin 2009-09-18 18:25:05

回答

1

您在使用函數內部this關鍵字,它將是指觸發事件,如果你綁定像這樣的元素:

$('img').click(change_image); 

但因爲你在你的函數有一個說法,我覺得你是一個普通的函數調用調用它,在這樣的情況下(在this關鍵字)不保留,您可以:使用「ATTR」從圖像檢索ALT值和「HTML」

$('img').click(function() { 
    change_image.call(this, 5); // preserve the context and pass a diff value 
}); 
+0

我現在使用這一行: var newAlt = $ .attr($('img')。get(0),'alt'); 它檢索一個靜態圖像的alt標籤,我一直無法使用(this)功能來拉取特定點擊圖像的alt標籤。 有什麼建議嗎? – Slevin 2009-09-18 19:41:38