[英]Onclick not working (Javascript and Dom)
我正在尝试使最后一个功能起作用,但事实并非如此。 我认为这与空白蜂阵列有关吗?
var lank = document.createElement("a"); //Skapa en länk som heter lank
lank.setAttribute("class", "visa");
lank.setAttribute("href", "#");
var lankTN = document.createTextNode("Läs mer"); // Skapa en textnod som heter lankTN
lank.appendChild(lankTN); //Sätt in lankTN i lank
window.onload = function uppstart(){
var texterna = document.getElementsByClassName("show");
for (var i = 0; i < texterna.length; i++) {
texterna[i].style.visibility = "hidden";
document.getElementsByClassName("post")[i].appendChild(lank.cloneNode(true));
}
}
function visaText(){
alert("Hej");
}
lank.onclick = visaText;
我只需在for循环内创建lank
节点,然后在其中添加onclick。 如果我们也玩弄小提琴并且也看过您的HTML会有所帮助,但是我有点猜到了,希望这就是您的意思: http : //jsfiddle.net/yf9Wa/1/ 。
从小提琴中,这是否对您有用:
window.onload = function uppstart() {
var texterna = document.getElementsByClassName("show");
var posterna = document.getElementsByClassName("post");
for (var i = 0; i < texterna.length; i++) {
var lank = document.createElement("a"); //Skapa en länk som heter lank
lank.setAttribute("class", "visa");
lank.setAttribute("href", "#");
lank.setAttribute("id", "lank" + i);
var lankTN = document.createTextNode("Läs mer"); // Skapa en textnod som heter lankTN
lank.appendChild(lankTN); //Sätt in lankTN i lank
lank.onclick = function(){
alert("Hej, jag är: " + this.id);
};
texterna[i].style.visibility = "hidden";
posterna[i].appendChild(lank);
console.log(i);
}
}
如果您担心性能,那就不要。
cloneNode
似乎不复制事件处理程序。 出于安全原因,可能是设计使然。 将事件处理程序附加到克隆的节点,而不是lank
。
var cloned = lank.cloneNode(true);
cloned.onclick = visaText;
document.getElementsByClassName("post")[i].appendChild(cloned);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.