Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用;onclick";带变量“1”;id";和getElementById(Javascript)_Javascript_Html - Fatal编程技术网

使用;onclick";带变量“1”;id";和getElementById(Javascript)

使用;onclick";带变量“1”;id";和getElementById(Javascript),javascript,html,Javascript,Html,函数displayDate(){ document.getElementById(“日期”).innerHTML=date(); } 显示日期 显示日期 显示日期 显示日期 显示日期 显示日期 显示日期 显示日期 这是因为您在所有h3标记项上设置了相同的iddate。因此,当通过iddocument.getElementById('date')获取元素时,将选择第一个元素 您可以从函数上的事件中获取所选元素,并使用该元素,可以按如下方式设置所需的值 函数显示日期(事件){ event.tar

函数displayDate(){
document.getElementById(“日期”).innerHTML=date();
}
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
  • 这是因为您在所有
    h3
    标记项上设置了相同的id
    date
    。因此,当通过id
    document.getElementById('date')
    获取元素时,将选择第一个元素
  • 您可以从函数上的事件中获取所选元素,并使用该元素,可以按如下方式设置所需的值
函数显示日期(事件){
event.target.innerHTML=Date();
}
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期

显示日期在HTML中是唯一的,所以不要重复它们。但是对于你的结果,你可以把这个作为你函数的参数

将包含您单击的元素

例如:

函数显示日期(elm){
elm.innerHTML=Date();
}
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期

Display Date
我建议您这样做,这是一种更干净的方式,给您带来了更大的灵活性,因为有了一个侦听器,您可以不更正html属性中的函数,您可以尝试将父div添加到h3标记中,这样您甚至可以删除该类,如果您不将其用于样式,您可以这样做使侦听器只在父div上工作,这样就可以摆脱if语句

函数显示日期(目标){
target.innerHTML=Date();
}
document.addEventListener(“单击”,(事件)=>{
如果(event.target.className==“日期”){
显示日期(event.target)
}
})
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期
显示日期

显示日期
document.getElementById与您要求文档返回带有id日期的元素的事件无关,因为它假定id是唯一的,所以在找到第一个匹配项后停止

您需要询问事件是哪个元素触发了它,这是通过事件参数完成的

function displayDate(args) {
}
然后在args中,目标是引发事件的元素 所以


是你想要的

下面的人已经给了你一个解决方案,但是你应该严格地在一个元素上只使用一次id,当你想在一个组中声明更多的元素时,使用类。ID是可以标识为1项的内容。
args.target