Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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
使用数组的简单JavaScript绑定onClick?_Javascript - Fatal编程技术网

使用数组的简单JavaScript绑定onClick?

使用数组的简单JavaScript绑定onClick?,javascript,Javascript,以下是我的JS代码: var myArray = ["id1", "id2", "id3"]; var container = document.getElementById('container'); myArray.forEach(function(id){ container.innerHTML = container.innerHTML + "<a href=\""+id+"\">"+id+"</a>" }); 我想使用数组将onClick事件处理程序绑

以下是我的JS代码:

var myArray = ["id1", "id2", "id3"];
var container = document.getElementById('container');
myArray.forEach(function(id){
  container.innerHTML =  container.innerHTML + "<a href=\""+id+"\">"+id+"</a>"
}); 
我想使用数组将onClick事件处理程序绑定到每个链接,而不是重复代码3次?

我建议:

function functionToCall(evt){
    console.log('You clicked the element with id = "' + this.id + '"');
}

var myArray = ["id1", "id2", "id3"],
    container = document.getElementById('container'),
    // creating a new 'a' element:
    link = document.createElement('a'),
    // initialising an empty variable:
    temp;

myArray.forEach(function(id){
    // copying the created 'a' element
    temp = link.cloneNode();

    // assigning it a href attribute:
    temp.href = '#' + id;

    // giving an id:
    temp.id = 'link_' + id;

    // appending a textNode to that copied 'a' element:
    temp.appendChild(document.createTextNode(id));

    // assigning the event-handler (assuming you wanted a click-handler):
    temp.addEventListener('click', functionToCall);

    // appending the copied 'a' element to the container Node:
    container.appendChild(temp);
});

.

你是想让人们来做你的工作/家庭作业吗?现在我可以学习你的代码了:谢谢!我很高兴能帮上忙。