如何让$(data.id)成为我的元素?目前,它将其评估为int,而不是具有指定id的标记。我已经跟踪了这个问题,根据FireBug,一切都是正确的值,直到这一点。
function editWinner( value, id )
{
new Ajax.Request( 'ajax_edit_winner.php',
{
method: 'get',
parameters: {
value: value,
id: id
},
onSuccess: function( response ) {
var data = response.responseText.evalJSON();
$( data.id ).setAttribute('onclick', 'editWinner( ' + !data.value + ', ' + data.id + ' )');
$( data.id ).update( data.value );
},
onFailure: function(){ alert('Something went wrong...') }
});
}
答案 0 :(得分:1)
现在我看到这是原型(对不起)我建议尝试
$('' + data.id)
即在传入之前将ID强制为字符串。$$('#' + data.id)
这是Prototype的选择器语法根据您的JSON解析器,ID可能已经是一个字符串。除此之外,我不确定该建议什么。
旧答案:
要选择需要$('#tagId')
的标记,即ID上的哈希前缀。没有它正在寻找给定类型的标签,例如$('div')
找到div标签。 CSS selector reference
即。你可能想要$('#' + data.id)