1

在我的 html 页面中,我有许多链接,它们的 ID 可以随时更改,看起来像这样(我有大约 140 个链接):

 <a id=33 onclick="javascriptfunction()"
           href="33">link1</a>
 <a id=37 onclick="javascriptfunction()"
           href="37">link2</a>
 <a id=113 onclick="javascriptfunction()"
           href="113">link3</a>
 <a id=3 onclick="javascriptfunction()"
           href="3">link4</a>
          .....
          .....
          .....

客户端可以随机选择其中一个,我想在 javascriptfunction() 中执行操作,这当然是基于其元素 ID 的 JavaScript。

有没有办法在 JavaScript(没有 jQuery)中获取被点击的链接元素 ID?

4

5 回答 5

5

像这样的东西...

<a id=2 onclick="javascriptfunction(this)"
           href="#">link4</a>

// In javascript
function javascriptfunction(element){
    var id = element.id;
}
于 2013-07-03T13:06:57.643 回答
3

你可以试试:

<a id=3 onclick="return javascriptfunction(this)" href="3">link4</a>

function javascriptfunction(ID){
   alert(ID.id);
   return false;
}
于 2013-07-03T13:05:20.760 回答
2
<script>
function javascriptfunction(id)
{
    alert("You clicked a tag with the id "+ id);
}
</script>
<a id=33 onclick="javascriptfunction(this.id)"/>

你可以用这个。

于 2013-07-03T13:08:57.097 回答
0

如果您不想更改 HTML 标记中的所有 140 多个链接,您还可以在该<head>部分中注入以下 JavaScript 代码:

window.onload = function() {
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        var id = anchor.id;
        if (id && id.length > 0) {
            anchor.onclick = function() {
                RealClickHandler(this.id);
                return false;
            };
        }
    }
};

这将覆盖所有链接的现有 onclick,并调用不同的函数传递它的 id。示例函数可能如下所示:

function RealClickHandler(id) {
    alert("anchor with id " + id + " was clicked");
}

现场测试用例

于 2013-07-03T13:20:28.670 回答
-1

也许使用jQuery!这是示例

$("div").on('click', 'button' , function(obj){
    alert(obj.target.id);
});
于 2013-07-03T13:16:55.657 回答