0

代码:

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");
                    }

                };
4

1 回答 1

1

1:你应该声明你的变量DeCheBXDeImgSayHi使用var关键字。
2:在示例中,不清楚obj[i]来自哪里以及它是什么。错误可能源于它不是您所希望的。
3:您绝对不想调用该函数SayHi并将其返回值(未定义)分配给Element您构造的 onclick 处理程序并插入'MyDiv'. 你做事的方式,最好是像"SayHi(this);".
4:后面多了}一个document.body.appendChild(DeImg);。它使您的示例代码的这一部分无效。
5:在函数SayHi中查看checkedid 为“x”的元素的属性。在我看来,您更愿意使用x的值传递给函数(参见上面的 3)。

于 2010-03-30T12:42:17.530 回答