2011-04-22 148 views
1

的條款ArticleID我有這樣的:獲取最近點擊鏈接

<a href="#" id="article-2341234" class="article-link">click to see article</a> 
<div id="article-body-2341234" style="display:none;"> ... 
... 
... 
</div> 

現在我想做到這一點:從的標識

  1. 防止默認
  2. GET條款ArticleID '2341234'鏈接只需點擊
  3. 隱藏鏈接並顯示下面的文章

我也想捕獲變量中最近點擊的鏈接,因爲我會在點擊事件中多次引用它,並且我想要有效。

我有這個至今:

$(".article-link").bind("click", function(e) { 

e.preventDefault(); 
var articleId = ?????; 

$("#article-link-" + articleId).hide(); 
$("#article-body-" + articleId).show(); 


}); 

我需要一個通用的功能,將得到元素的ID的「條款ArticleID」,我怎麼能做到這一點?

我怎麼能存儲在一個變量的最近點擊鏈接,這樣我可以再次提及它。它是:

$(this)

+0

您必須提供articleId的名稱,以便我們能夠弄清楚如何從鏈接的id中獲取它。 – marcosfromero 2011-04-22 14:32:08

回答

3

最簡單的方法就是簡單地做一個replace()this.id抓住你的文章ID。

$(".article-link").bind("click", function(e) { 
    e.preventDefault(); 
    var articleId = this.id.replace("article-link-", ""); 
    $(this).hide(); 
    $("#article-body-" + articleId).show(); 
}); 

旁註,你可以做$(this).hide()而不是再次查詢DOM作爲this將參考的DOM元素點擊。

Code example on jsfiddle

1

將參考當前點擊的元素,所以可以使用例如正則表達式(this.id.match(/ \ d + $ /)[0]),以獲取號碼

+2

我可以得到破折號字符的最後一個實例後的#號嗎? – Blankman 2011-04-22 14:39:41

+0

那個正則表達式得到了id結尾的數字,數字在id的結尾,是正確的? – 2011-04-22 14:50:36

+0

是的在最後,現在好了我得到它你使用$謝謝! – Blankman 2011-04-22 14:59:17