获取链接ID并打开警报javascript

时间:2016-08-31 14:29:52

标签: javascript jquery html

我发现这个例子在javascript中打开一个警告

function reply_click(clicked_id)
{
    alert("You have clicked Button " + clicked_id);
}
<button id="1" onClick="reply_click(this.id)">Button 1</button>
<button id="2" onClick="reply_click(this.id)">Button 2</button>
<button id="3" onClick="reply_click(this.id)">Button 3</button>

我对如何在点击链接时获得所需行为感到困惑,我已尝试过以下方式

function reply_click(clicked_id)
{
    alert("You have clicked Link " + clicked_id);
}
<a id="1" href="javascript:reply_click(this.id);">Link 1</a>
<a id="2" href="javascript:reply_click(this.id);">Link 2</a>
<a id="3" href="javascript:reply_click(this.id);">Link 3</a>

当我尝试这段代码时,我得到结果为

You have clicked Link undefined

无法找到摆脱undefined并获取链接的实际id的方法!

5 个答案:

答案 0 :(得分:1)

在你的例子中,你使用标签(javascript :)中的javascript属性href,变量 this 引用Window而不是元素。无论您使用onClick属性,变量 this 都将具有元素对象。

您可以在锚点中使用onclick属性。

答案 1 :(得分:1)

尝试以下

function reply_click(clicked_id)
{
    alert("You have clicked Link " + clicked_id);
}
<a id="1" href="#" onClick="reply_click(this.id)">Link 1</a>
<a id="2" href="#" onClick="reply_click(this.id)">Link 2</a>
<a id="3" href="#" onClick="reply_click(this.id)">Link 3</a>

答案 2 :(得分:0)

更改此代码:

<a id="1" onclick="reply_click(this.id)" href="#">Link 1</a>

<a id="2" onclick="reply_click(this.id)" href="#">Link 2</a>

<a id="3" onclick="reply_click(this.id)" href="#">Link 3</a>

最终代码:

<html>
    <head>
        <style>
            
        </style>
    </head>
    <body>
    <a id="1" onclick="reply_click(this.id)" href="#">Link 1</a>

    <a id="2" onclick="reply_click(this.id)" href="#">Link 2</a>

    <a id="3" onclick="reply_click(this.id)" href="#">Link 3</a>
    
    <script>
        
        function reply_click(clicked_id) {
            
            alert("You have clicked Link " + clicked_id);
            
            
        }
    </script>
    </body>  
</html>

答案 3 :(得分:0)

function reply_click(clicked_id)
{
    alert("You have clicked Link " + clicked_id);
}
<a id="1" onclick="reply_click(this.id);" href="#">Link 1</a>
<a id="2" onclick="reply_click(this.id);" href="#">Link 2</a>
<a id="3" onclick="reply_click(this.id);" href="#">Link 3</a>

您需要将javascript函数放入事件onclick而不是hrefhref用于指示链接指向的网址。

答案 4 :(得分:0)

使用这种方式

 <a id = "1" href= "#" >Link 1 </a>
<a id = "2" href= "#" >Link 2 </a>
<a id = "3" href= "#" >Link 3 </a>
 <script>
document. addEventListener("click",function(ev){
alert(ev.target.id);
});
</script>