我从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
答案 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\']+'");"