Javascript 如何在java脚本中获取未知元素ID

Javascript 如何在java脚本中获取未知元素ID,javascript,html,Javascript,Html,在我的html页面中,我有许多链接,它们的ID可以随时更改。看起来是这样的(我有大约140个链接): ..... ..... ..... 客户端可以随机选择其中一个,我想在javascriptfunction()中执行操作 当然,这在JavaScript中是基于元素ID的 有没有办法在JavaScript(无jQuery)中获取单击的链接元素ID 您可以尝试: <a id=3 onclick="return javascriptfunction(this)" href="3">l

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


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

有没有办法在JavaScript(无jQuery)中获取单击的链接元素ID

您可以尝试:

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

function javascriptfunction(ID){
   alert(ID.id);
   return false;
}

函数javascriptfunction(ID){
警报(ID.ID);
返回false;
}
您可以尝试:

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

function javascriptfunction(ID){
   alert(ID.id);
   return false;
}

函数javascriptfunction(ID){
警报(ID.ID);
返回false;
}
类似这样的东西

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

// In javascript
function javascriptfunction(element){
    var id = element.id;
}

//在javascript中
函数javascriptfunction(元素){
var id=element.id;
}
类似这样的东西

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

// In javascript
function javascriptfunction(element){
    var id = element.id;
}

//在javascript中
函数javascriptfunction(元素){
var id=element.id;
}

函数javascriptfunction(id)
{
警报(“您单击了id为“+id”的标记);
}
你可以用这个。


函数javascriptfunction(id)
{
警报(“您单击了id为“+id”的标记);
}
你可以用这个。

也许可以用jQuery!这是

也许可以使用jQuery!这是


如果不想更改HTML标记中的所有140+链接,还可以在
部分中插入以下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;
            };
        }
    }
};

.

如果不想更改HTML标记中的所有140+链接,还可以在
部分中插入以下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;
            };
        }
    }
};

.

可能甚至
javascriptfunction(this.id)
?它不会像您键入的那样工作,您发送了此文件,这是锚。但是…您正在提醒
this
,您的意思是
id.id
@dadojery没有问题,只要它帮助了某人。甚至
javascriptfunction(this.id)
?它不会像您键入的那样工作,你发送了这个,这是anchor。但是…你在提醒对象
这个
,你的意思是
ID.ID
@DadoJerry没有问题,只要它能帮助别人。首先,你需要在你的ID
。下一步:ID不能以数字开头@BramVanroy--HTML5,ID现在可以从任何东西开始:)是的,忘了添加这些:)
onclick=“alert this.ID”
@Bram 1)错了-HTML5假设它也是html而不是xml 2)错的。@Every:我在第一部分确实错了。不过,添加它们似乎是个不错的做法。另外,这篇文章没有贴上HTML5的标签,所以我采用了旧的格式。首先,你需要在你的ID周围贴上这些标签。。下一步:ID不能以数字开头!@BramVanroy--HTML5,ID现在可以从任何东西开始:)是的,忘了添加这些:)
onclick=“alert this.ID“
@Bram 1)错了-html5假设它也是html而不是xml 2)错的。@大家:我在第一部分确实错了。不过,添加它们似乎是个不错的做法。另外,这篇文章没有贴上HTML5的标签,所以我采用了一种旧的格式。以下所有内容在这里都适用:1)这是完整的答案,没有解释jQuery如何帮助;2)当问题可以在没有jQuery的情况下简单地解决时;3)当问题明确要求不使用javascript框架时,OP明确要求使用非jQuery解决方案。以下所有内容都适用于这里:1)这是完整的答案,没有解释jQuery究竟有什么帮助;2)没有jQuery就可以简单地解决问题;3)问题特别要求没有javascript框架
function RealClickHandler(id) {
    alert("anchor with id " + id + " was clicked");
}