2011-06-05 102 views
0

我有一个锚标签如下。html锚标签参考

<a style="border:0px" href='javascript:deleteAttachment(this);' /> 

在deleteAttachment中,我如何获得锚标记。发送到方法,将窗口元素发送到方法。

function deleteAttachment(ancElement){ 
    //Jquery operation on acnElement 
} 

请帮我一把。

回答

1

使用onclick处理程序:

<a onclick="deleteAttachment(this)"> 

或者,最清洁和最接受的方法如今,刚刚在HTML原始链接:

<a id="deleteAttachment"> 

和编程方式添加click事件中,一个单独的脚本块,在DOM负载上:

document.getElementByID("deleteAttachment").onclick = 
    function() { ... you can use "this" here .... } 
1

您必须将其ID设置为贡

<a id="myAnchor" style="border:0px;" href="javascript:deleteAttachment('myAnchor');"/> 

然后使用jQuery找到它

function deleteAttachment(ID) 
{ 
    var MyAnchor = $('#'+ID); 
} 
+0

对不起,我没有正确阐述这个问题..锚标签是从asp.net gridview动态生成的。所以id(ClientID)不在html的控制之下。可能是我可以使用javascript:deleteAttachment('<%= myAnchor.ClientID');但onclick很容易去我..谢谢你的答案.. :) – Raghav 2011-06-05 14:12:01

2

我建议稍微不同的方法,因为你正在试图做的是有点老了。 假设你已经加载了jQuery,在这里我们去:

<a id="myFirstLink" href="someHref" /> 
<a class="otherLinks" href="secondHref" /> 
<a class="otherLinks" href="thirdHref" /> 

<script> 
$(function() { 
    $('#myFirstLink, .otherLinks').click(function(event) { 
     // stops the browser from following the link like it would normally would 
     event.preventDefault(); 
     // do something with your href value for example 
     alert($(this).attr('href')); 
    }); 
}); 
</script> 

所以基本上你可以做的是:简单地生成所有锚,就像您通常会和应用相同的类名来他们每个人 - 在我例如该类将是“otherLinks”。
之后,您的所有链接将由该匿名函数处理。

+0

我没有指出,报价:“假设你已经加载jQuery,这里我们去” – tXK 2011-06-05 22:09:00

+0

你确实,我的坏! – 2011-06-05 22:12:17