Javascript 只是尝试访问元素中的值

Javascript 只是尝试访问元素中的值,javascript,Javascript,我有多个a元素,它们是由for循环在页面视图上生成的,当它们被单击时,会向数据库发送一个ajax帖子,以通过其id标记数据库中的项目,该id等于a元素中的值,但我的代码不起作用,有人知道为什么吗?谢谢 <a href='#' value='(loaded from database)' id='markAsRead'> var element = document.getElementById('markAsRead'); element.addEventListener('cl

我有多个
a元素
,它们是由for循环在页面视图上生成的,当它们被单击时,会向数据库发送一个
ajax帖子
,以通过其id标记数据库中的项目,该id等于
a元素中的值
,但我的代码不起作用,有人知道为什么吗?谢谢

<a href='#' value='(loaded from database)' id='markAsRead'>

var element = document.getElementById('markAsRead');

element.addEventListener('click', function() {
   alert(this.value);
});

var元素=document.getElementById('markAsRead');
元素。addEventListener('click',function(){
警报(该值);
});

锚点不像输入那样具有值,您应该使用数据属性

<a href='#' data-value='(loaded from database)' id='markAsRead'>

var element = document.getElementById('markAsRead');

element.addEventListener('click', function() {
 alert(this.getAttribute("data-value"));
});

var元素=document.getElementById('markAsRead');
元素。addEventListener('click',function(){
警报(此.getAttribute(“数据值”);
});

锚点不像输入那样具有值,您应该使用数据属性

<a href='#' data-value='(loaded from database)' id='markAsRead'>

var element = document.getElementById('markAsRead');

element.addEventListener('click', function() {
 alert(this.getAttribute("data-value"));
});

var元素=document.getElementById('markAsRead');
元素。addEventListener('click',function(){
警报(此.getAttribute(“数据值”);
});

id属性必须是唯一的

如果希望有一组具有相同标识符的控件,可以使用
name
attribit

如果查看dom操作的函数:

  • document.getElementById()
    -元素(单数)
  • document.getElementsByName()
    -元素(复数)
添加唯一(取决于环境)id的示例

for(var索引=0;索引<10;索引++){
var元素=document.createElement(“a”);
setAttribute(“数据值”、“您的值”);
setAttribute(“id”、“markAsRead”+索引);
元素。addEventListener('click',function(){
警报(此.getAttribute(“数据值”);
});
document.getElementsByTagName(“正文”)[0].appendChild(元素);
}

id属性必须是唯一的

如果希望有一组具有相同标识符的控件,可以使用
name
attribit

如果查看dom操作的函数:

  • document.getElementById()
    -元素(单数)
  • document.getElementsByName()
    -元素(复数)
添加唯一(取决于环境)id的示例

for(var索引=0;索引<10;索引++){
var元素=document.createElement(“a”);
setAttribute(“数据值”、“您的值”);
setAttribute(“id”、“markAsRead”+索引);
元素。addEventListener('click',function(){
警报(此.getAttribute(“数据值”);
});
document.getElementsByTagName(“正文”)[0].appendChild(元素);
}

谢谢,这是特定于a元素的,对吗?因为循环加载了许多
id='markAsRead'
@XCritics-id属性必须是唯一的,如果您想要这样的东西,您应该使用name或class(可能还有其他东西),谢谢,这是特定于a元素的,对吗?因为循环加载了许多
id='markAsRead'
@XCritics-id属性必须是唯一的,如果你想要这样的东西,你应该使用name或class(可能还有其他东西),你在你的
addEventListener
try中缺少一个逗号你在
addEventListener
try中缺少一个逗号