2013-04-26 65 views
1

我想在點擊一個鏈接時設置一個js變量的值。設置變量等於這個值點擊

這是我迄今(簡體)嘗試:

<a href="#?id=1" value="1" class="delete_link">Click to delete this row</a> 

$(document).ready(function(){ 
    $(".delete_link").click(function(){ 
     var deleteID = $(this).val(); 
     alert(deleteID); 

    }); 
}): 

但這並不設置變量deleteID到1.我選擇了錯誤的鏈接中的數據?

繼承人jsfddle:link

回答

7

嘗試:

var deleteID = $(this).attr("value"); 

DEMO:http://jsfiddle.net/CjS8k/3/

value不是<a>元素有效的屬性,這意味着它不會被投入.value屬性(這是什麼.val()將返回)。因此,相反,使用方法:

<a href="#?id=1" data-value="1" class="delete_link">Click to delete this row</a> 

有:

var deleteID = $(this).attr("data-value"); 

DEMO:http://jsfiddle.net/CjS8k/4/

+0

或者只是'$(本)。數據( 「值」);' – Antony 2013-04-26 16:02:04

+0

@Antony是的,但我不喜歡使用:)我知道jQuery的自動放'data- *'屬性放入'.data()'中。由於它是一個屬性,對我來說似乎是靜態的,所以我會考慮使用'.attr()'。對我而言,使用'.data()'暗示它幾乎是一個「屬性」。我只在使用'.data()'設置東西時才使用'.data()' – Ian 2013-04-26 16:03:30

2

有 「價值」 的屬性。

改變您的線路以

var deleteID = $(this).attr("value"); 
相關問題