Javascript 在编写为字符串的onClick函数中传递变量

Javascript 在编写为字符串的onClick函数中传递变量,javascript,jquery,html,Javascript,Jquery,Html,我在showVideo函数中传递videoURL,这是元素的onClick函数 但是,单击按钮不起作用。它给了我一个错误,即videoURL未定义 其他尝试也不起作用: 这是预料中的错误 $('#files').append('<a href="#" onclick="showVideo(' + videoURL + ');">' + title + '</a>'); 如何正确编码我传递的变量?这应该可以: var title = 'Click Me'; var vid

我在showVideo函数中传递videoURL,这是元素的onClick函数

但是,单击按钮不起作用。它给了我一个错误,即videoURL未定义

其他尝试也不起作用: 这是预料中的错误

$('#files').append('<a href="#" onclick="showVideo(' + videoURL + ');">' + title + '</a>');
如何正确编码我传递的变量?

这应该可以:

var title = 'Click Me';
var videoURL = 'http://testurl.test';

showVideo = function (url) {
  console.log(url);
};

$('#files').append('<a href="#" onclick="showVideo(\'' + videoURL + '\');">' + title + '</a>');

你的第二种方法看起来不错,有什么问题吗?什么不起作用?@johnSmith不起作用,因为它不在引号中。在append之外创建html字符串。嗨@johnSmith,它会给我预期的错误。+为了解释为什么会这样,您以前的代码使函数调用看起来像showVideohttp://testurl.test 正如您所看到的,这将失败,因为字符串不在引号中。这一个在那里为您添加了引号,它看起来就像这个视频的http://testurl.test'. 虽然我个人不明白为什么John不使用双引号而不是转义单引号。。。
var title = 'Click Me';
var videoURL = 'http://testurl.test';

showVideo = function (url) {
  console.log(url);
};

$('#files').append('<a href="#" onclick="showVideo(\'' + videoURL + '\');">' + title + '</a>');