像ruby中的Javascript字符串插值

时间:2018-05-13 19:06:14

标签: javascript jquery string-interpolation

我的JS中有以下代码。

$('#ytResultsList').append('<li><a href="https://www.youtube.com/watch?v="' + item.id.videoId + '></a></li>');

从上面的代码可以看出,HTML中的结果如下所示。

<li><a href="https://www.youtube.com/watch?v=" bruvbiwlwfi=""></a></li>

我希望网址在HTML中如下所示。

"https://www.youtube.com/watch?v=bruvbiwlwfi" 

如何在Javascript中执行此操作?

3 个答案:

答案 0 :(得分:2)

问题是因为您错误地格式化了href。您需要将结束"移到变量后面,如下所示:

$('#ytResultsList').append('<li><a href="https://www.youtube.com/watch?v=' + item.id.videoId + '"></a></li>');

答案 1 :(得分:1)

引号是你的问题 尝试:

$('#ytResultsList').append('<li><a href=\'https://www.youtube.com/watch?v=' + item.id.videoId + '\'></a></li>');

答案 2 :(得分:1)

Templatestrings在现代浏览器中确实有pretty good support,并且如果您需要支持旧版本,则可以进行填充 - 请注意反引号:

const videoId = 'bruvbiwlwfi'
const url = `https://www.youtube.com/watch?v=${videoId}`
=> "https://www.youtube.com/watch?v=bruvbiwlwfi"