javascript的问题
如何使$(data.id)成为我的元素?目前,它将其计算为int,而不是具有指定id的标记。我已经跟踪到了这个问题,根据FireBug,到目前为止,一切都是正确的值javascript的问题,javascript,json,response,Javascript,Json,Response,如何使$(data.id)成为我的元素?目前,它将其计算为int,而不是具有指定id的标记。我已经跟踪到了这个问题,根据FireBug,到目前为止,一切都是正确的值 function editWinner( value, id ) { new Ajax.Request( 'ajax_edit_winner.php', { method: 'get', parameters: { value: value,
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...') }
});
}
现在我看到这是原型(对不起),我建议尝试一下
即,在传入id之前,将其强制为字符串$(''+data.id)
这是Prototype的选择器语法$$('#'+data.id)
旧答案: 要选择标记,您需要
$('#tagId')
,即ID上的哈希前缀。如果不查找给定类型的标记,则需要$('div')
,以查找div标记
i、 e.您可能想要
$('#'+data.id)
我猜$
是由一些库提供的,但是有几个库使用该变量,它们使用该变量做不同的事情。你在用什么图书馆?(哦,不要在事件处理程序上使用setAttribute
,使用抽象addEventListener(和Microsoft等价物)的东西并正确地执行它。(还可以使用堆栈溢出编辑器提供的代码格式化按钮)我使用的是prototype,很抱歉格式化了。我该怎么做呢?是的,这似乎更正确,定义了id,但仍然不起作用……这是我的标记,当OP使用时,您在这里建议使用jQuery风格的语法Prototype@Gareth哎呀,你说得对,我没有意识到这是原型而不是jQuery就是这样!仍然需要调整属性。感谢所有帮助!=)