DeCheBX = $('MyDiv').insert(new Element('input', { 'type': 'checkbox', 'id': "Img" + obj[i].Nam, 'value': obj[i].IM, 'onClick': 'SayHi(this)' })); 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) { var y = "Imgx" + 1; alert(y); $('y').invoke('hide');
Вы помещаете что-то в переменную y:
y
var y = "Imgx" + 1; alert(y);
Но после этого вы используете строку 'y', а не содержимое переменной y:
'y'
$('y').invoke('hide');
Полагаю, вы хотите использовать содержимое переменной y вместо:
$(y).invoke('hide');