我创建了div
元素的循环,我想更改background-color
当我点击div
。jQuery点击()循环中
var c = $("#container")[0];
for(var i=0; i<6;i++){
var x = document.createElement("div");
x.className = "sqare";
x.click(changecolor(this));
c.appendChild(x);
}
function changecolor(p){
return function() {
p.css("background-color", "yellow");
}
}
我遵循这个Assign click handlers in for loop,但失败了......
您的意思是'x.click(changecolor(X)) '? – elclanrs
'this'的值对于循环的每次迭代都是相同的,并且从显示的代码中不清楚它是什么值(如果该代码在全局范围内,则为'window')。另外,'x'是一个DOM元素,所以它的'.click()'方法不会分配一个点击处理程序。 – nnnnnn