如果点击了链接,如何从下面的链接列表中删除链接。链接的HTML是以下
<a href="http://www.mysite.com/page1.html" class="standard_link">link 1</a><br />
<a href="http://www.mysite.com/page2.html" class="standard_link">link 2</a><br />
<a href="http://www.mysite.com/page3.html" class="standard_link">link 3</a><br />
<a href="http://www.mysite.com/page4.html" class="standard_link">link 4</a><br />
<a href="http://www.mysite.com/page5.html" class="standard_link">link 5</a><br />
编辑:刚刚意识到我需要删除<br />
,所以其余的链接会向上移动。看起来很奇怪,链接被删除了。
编辑:这是当前的脚本:
$(".standard_link").live('click', function(event)
{
event.preventDefault();
my_function($(this))
});
function my_function(link)
{
// do some stuff first
// remove the clicked link plus the <br />
link.add(link.nextSibling).remove();
// do some other stuff
}
答案 0 :(得分:3)
$('a.standard_link').click(function(){ // when any link with the class "standard_link" is clicked
$(this).remove(); // remove it
});
请注意,如果您想避免发生默认事件,则需要event.preventDefault()
:
$('a.standard_link').click(function(e){ // when any link with the class "standard_link" is clicked
e.preventDefault();
$(this).remove(); // remove it
});
修改:要删除<br/>
,请使用add
:
$(this).add(this.nextSibling).remove();
请注意,如果链接和换行符之间存在任何(包括空格),则会中断。
答案 1 :(得分:1)
$(".standard_link").click(function(){
$(this).remove();
});
答案 2 :(得分:1)
你的问题有点模糊。实际上有many possibilities。这一切都取决于你的确切要求。
// link href contains 'page5'
$("a[href*=page5]").remove();
// links ending with page5.html
$("a[href$=page5\\.html]").remove();
// remove all links with some class
$(".standard_link").remove();
如果您想根据链接的文本或html内容进行定位,可以执行以下操作:
$("a.standard_link").filter(function() {
return $(this).text() == "link 2";
}).remove();
答案 3 :(得分:0)
你根本不需要JavaScript。在CSS中,您可以导致访问的链接不显示,例如:
a:visited { display: none; }