本文介绍了使用javascript进行onclick finction的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好我在javascript中有这个代码



for(var i = 0,link; i< 5; i ++){

var div = document.createElement(div);

var link = document.createElement(a);

link.innerHTML =Link+ i;

link.onclick = function(){

alert(i);

};

div .appendChild(link);

document.body.appendChild(div);

}



问题





当你点击链接时,警告框总是说5.你会在javascript中修改什么来解决这个问题?

Hi all I have this code in javascript

for (var i = 0, link; i < 5; i++) {
var div = document.createElement("div");
var link = document.createElement("a");
link.innerHTML = "Link " + i;
link.onclick = function () {
alert(i);
};
div.appendChild(link);
document.body.appendChild(div);
}

Problem



When you click on the links, the alert box always says 5. What would you change in the javascript to fix this?

推荐答案

function createlink(i) {
    var link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function () {
        alert(i);
    };

    return link;
}

for (var i = 0, link; i < 5; i++) {
    var div = document.createElement("div");
    var link = createlink(i);
    div.appendChild(link);
    document.body.appendChild(div);
}


引用:

我不想使用link.onclick = function(event) {alert(event.target.innerHTML); };

I don't want to use link.onclick = function (event) { alert(event.target.innerHTML); };

为什么不呢?这些方面的东西是正确的方法。

Why not? Something along those lines is the correct way to do it.


for (var i = 0, link; i < 5; i++) {
                
                 var div = document.createElement("div");
                 var link = document.createElement("a");
                 link.innerHTML = "Link " + i;
                 link.onclick = function () {                     
                     alert(this.innerText.split(' ')[1]);
                 };
                 div.appendChild(link);
                 document.body.appendChild(div);
             }


这篇关于使用javascript进行onclick finction的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 02:58