2011-04-22 204 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