从最近点击的链接的ID获取articleID

时间:2011-04-22 14:28:31

标签: jquery

我有这个:

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

现在我想这样做:

  1. 防止默认
  2. 从刚刚点击的链接的ID
  3. 获取articleid'2341234'
  4. 隐藏链接并在其下方显示文章
  5. 我还希望捕获变量中最近点击的链接,因为我会在点击事件中多次引用它并且我想要有效。

    到目前为止,我有这个:

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

    我需要一个通用函数,它将从元素的ID中获取'articleid',我该怎么做?

    如何将最近点击的链接存储在变量中,以便我可以再次引用它。是吗:

    $(this)

2 个答案:

答案 0 :(得分: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 :(得分:1)

将引用当前单击的元素,因此您可以使用例如正则表达式(this.id.match(/ \ d + $ /)[0])来获取数字