Javascript 设置元素时遇到问题';带jQuery的s onclick属性

Javascript 设置元素时遇到问题';带jQuery的s onclick属性,javascript,jquery,html,Javascript,Jquery,Html,我的网页上有几个元素共享类名“TableData”。我试图循环遍历它们,并给它们中的每一个赋予一个唯一的id,然后我希望所有它们都具有相同的onclick属性。我能够用纯JavaScript成功地为它们中的每一个都提供一个唯一的id,但我遇到的问题是给它们提供了相同的onclick属性。我尝试使用JavaScript和jQuery,但都失败了 这是我的密码: //此计数器将用于为每个元素提供唯一的id var计数器=0; //x保存类名为“table data”的所有元素 var x=docum

我的网页上有几个元素共享类名“TableData”。我试图循环遍历它们,并给它们中的每一个赋予一个唯一的id,然后我希望所有它们都具有相同的onclick属性。我能够用纯JavaScript成功地为它们中的每一个都提供一个唯一的id,但我遇到的问题是给它们提供了相同的onclick属性。我尝试使用JavaScript和jQuery,但都失败了

这是我的密码:

//此计数器将用于为每个元素提供唯一的id
var计数器=0;
//x保存类名为“table data”的所有元素
var x=document.getElementsByClassName(“表数据”);
//循环遍历数组x中的所有元素
对于(变量i=0;i
我遇到的问题是,所有元素都显示数组“x”中最后一个元素的idName。因此,如果总共有5个元素,并且我在它们上运行此代码,则单击时它们都将显示第5个元素的idName。我尝试发出警报()在onclick函数外部设置idName,这样循环会在分配每个元素时立即通知每个元素的idName,效果很好。我会为五个不同的元素设置五个不同的ID,那么onclick函数内部出现问题的原因是什么

我还尝试了以下方法,但也不起作用:

x[i].setAttribute('onclick','call_alert(this.idName)');
函数调用\u警报(单击EDID){
警报(单击EDID);
}

我对web编程非常陌生,因此如果我的代码中有任何明显的错误,我很抱歉。

您使这比您需要的要复杂得多。您不需要为每个元素添加id,只需使用绑定类,然后一次性添加单击绑定:

$(文档).ready(函数(){
//在课堂上比赛
$('.table data')。单击(函数(){
//使用$访问单击的实际元素(此)
警报('单击'+$(this).text());
});
})


您不需要
计数器
变量,因为您已经是
i

//变量计数器=0;
var x=document.getElementsByClassName(“表数据”);
对于(变量i=0;i

表1
表2
表3
表4
表5

表6
use or.not
setAttribute
。对不起,不是我,我不能投票,因为我还没有15个声望点,但你的答案非常有用:)嘿@AJ72311谢谢你的接受!你可能想选择对你有帮助的答案,一个downlvote对声誉没有什么大影响!;)我得到它的方法是使用你的答案和利亚姆的答案相结合,但由于利亚姆的得票率更高,而你的答案被否决,我想我会接受你的答案:)