我有这个:
<a href="#" id="article-2341234" class="article-link">click to see article</a>
<div id="article-body-2341234" style="display:none;"> ...
...
...
</div>
现在我想这样做:
我还希望捕获变量中最近点击的链接,因为我会在点击事件中多次引用它并且我想要有效。
到目前为止,我有这个:
$(".article-link").bind("click", function(e) {
e.preventDefault();
var articleId = ?????;
$("#article-link-" + articleId).hide();
$("#article-body-" + articleId).show();
});
我需要一个通用函数,它将从元素的ID中获取'articleid',我该怎么做?
如何将最近点击的链接存储在变量中,以便我可以再次引用它。是吗:
$(this)
?
答案 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])来获取数字