代码:
DeCheBX = $('MyDiv').insert(new Element('input', { 'type': 'checkbox', 'id': "Img" + obj[i].Nam, 'value': obj[i].IM, 'onClick': SayHi(id) }));
document.body.appendChild(DeCheBX);
DeImg = $('MyDiv').insert(new Element('img', { 'id': "Imgx" + obj[i].Nam, 'src': obj[i].IM }));
document.body.appendChild(DeImg);
}
SayHi = function(x) {
try {
if($('x').checked == true)
{
alert("press" + x);
}
}
catch (e) {
alert("error");
}
};
答案 0 :(得分:1)
1:您应该使用DeCheBX
关键字声明变量DeImg
,SayHi
和var
。
2:在示例中,不清楚obj[i]
来自哪里以及它是什么。错误可能源于它不是你所希望的
3:您最不希望调用函数SayHi
并将其返回值(未定义)分配给您构造的Element
的onclick处理程序并插入'MyDiv'
。你做事的方式,最好是像"SayHi(this);"
这样的字符串
4:}
之后还有一个document.body.appendChild(DeImg);
。它使您的示例代码的这部分无效
5:在函数SayHi
中,查看id为'x'的元素的checked
属性。在我看来,你更愿意使用传递给函数的 x 的值(参见上面的3)。