Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript的问题_Javascript_Json_Response - Fatal编程技术网

javascript的问题

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,

如何使$(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...') }
    });
}

现在我看到这是原型(对不起),我建议尝试一下

  • $(''+data.id)
    即,在传入id之前,将其强制为字符串
  • $$('#'+data.id)
    这是Prototype的选择器语法
根据JSON解析器的不同,ID可能已经是字符串了。除此之外,我不知道该建议什么


旧答案:

要选择标记,您需要
$('#tagId')
,即ID上的哈希前缀。如果不查找给定类型的标记,则需要
$('div')
,以查找div标记


i、 e.您可能想要
$('#'+data.id)

我猜
$
是由一些库提供的,但是有几个库使用该变量,它们使用该变量做不同的事情。你在用什么图书馆?(哦,不要在事件处理程序上使用
setAttribute
,使用抽象addEventListener(和Microsoft等价物)的东西并正确地执行它。(还可以使用堆栈溢出编辑器提供的代码格式化按钮)我使用的是prototype,很抱歉格式化了。我该怎么做呢?是的,这似乎更正确,定义了id,但仍然不起作用……这是我的标记,当OP使用时,您在这里建议使用jQuery风格的语法Prototype@Gareth哎呀,你说得对,我没有意识到这是原型而不是jQuery就是这样!仍然需要调整属性。感谢所有帮助!=)