2010-09-24 49 views
0

我想設置一個JavaScript變量,作爲幾個選項之一。如何確定在第一次加載時是否在jQuery中單擊了某些內容?

如果少數特定鏈接中的一個沒有被點擊(即第一頁加載),那麼應該將變量設置爲0或1(默認值)。

如果點擊了它,我希望它得到一個與該鏈接關聯的數字。

所以說HTML看起來像這樣:

<a href=""><img src="icon2.png" id="icon-2"></a> | 
<a href=""><img src="icon3.png" id="icon-3"></a> | 
<a href=""><img src="icon4.png" id="icon-4"></a> | 

jQuery的變量將是這樣的:

var icon_num = 2; // If 'icon-2' is clicked, etc. 

回答

3

你可以做這樣的事情:

var icon_num = 0; 
$("#someContainer img").click(function() { 
    icon_num = parseInt(this.id.replace("icon-",""), 10); 
}); 

或者,給他們一個僅包含ID的數據屬性,如下所示:

<img src="icon2.png" data-id="2" /> 

這將簡化您的代碼位,下降到:

var icon_num = 0; 
$("#someContainer img").click(function() { 
    icon_num = parseInt($(this).attr("data-id"), 10); 
}); 
+0

@TJCrowder - 哎呀,先生,感謝:) – 2010-09-24 21:33:52

+0

爲什麼是10的上限?這是parseInt函數的限制嗎?或者這只是你放在那裏的隨機整數?我在另一個問題中注意到了這一點,所以只是想知道。 – marcamillion 2010-09-24 21:34:30

+0

這工作出色。 – marcamillion 2010-09-24 21:37:21

1

example

var icon_num = null; // empty select 

$('a').bind('click', function(ev) { 

    ev.stopPropagation(); 

    icon_num = $(this).find('>img').attr('id').split('-')[1]; 

    return false; 

}); 
+0

感謝這項努力。另一個例子更適合我想要做的事情。 – marcamillion 2010-09-24 21:40:16

+0

完美,謝謝你的回覆 – 2010-09-24 21:45:39

相關問題