ReferenceError:未定义XXXXXXX

时间:2014-04-25 12:00:54

标签: jquery ajax

我从Ajax获取值并循环它以获取如下数据

$.each(dataar, function(index, el) {
    $('#show'+index).html('<a href="#" onclick="viewvideo('+el['youtube_id']+');"><img width="100" height="100" src="http://img.youtube.com/vi/'+el['youtube_id']+'/0.jpg" /></a>');
 });


function viewvideo(id)
    {
        alert(id);
    }

但问题来自函数viewvideo()我无法获取ID

的传递值

2 个答案:

答案 0 :(得分:2)

您缺少引号:

'... onclick="viewvideo(\''+el['youtube_id']+'\');" ...'
//                      ^^                    ^^

否则,生成的代码会尝试传递变量

onclick="viewvideo(foo);"

而不是字符串

onclick="viewvideo('foo');"

如果您在检查器中查看生成的元素及其属性,您可以轻松地自行解决这个问题。

避免此类问题的更好解决方案是创建 DOM元素而不是HTML,并使用JavaScript绑定事件处理程序。

答案 1 :(得分:0)

只是一个猜测。

你没有逃脱你的“'”而错过了字符串的引号。在viewVideo调用中。试试这个

onclick="viewvideo("'+el["youtube_id"]+'");"

onclick="viewvideo("'+el[\'youtube_id\']+'");"