Javascript 字符串插值,如 ruby
Javascript string interpolation like in ruby
我的 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>
我希望 URL 像下面 HTML 中的那样。
"https://www.youtube.com/watch?v=bruvbiwlwfi"
如何在 Javascript 中执行此操作?
问题是因为您的 href
格式不正确。您需要将结束 "
移动到变量之后,如下所示:
$('#ytResultsList').append('<li><a href="https://www.youtube.com/watch?v=' + item.id.videoId + '"></a></li>');
引号是你的问题
尝试:
$('#ytResultsList').append('<li><a href=\'https://www.youtube.com/watch?v=' + item.id.videoId + '\'></a></li>');
Templatestrings do have pretty good support 在现代浏览器中,如果您需要支持旧浏览器,可以进行 polyfilled - 注意反引号:
const videoId = 'bruvbiwlwfi'
const url = `https://www.youtube.com/watch?v=${videoId}`
=> "https://www.youtube.com/watch?v=bruvbiwlwfi"
我的 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>
我希望 URL 像下面 HTML 中的那样。
"https://www.youtube.com/watch?v=bruvbiwlwfi"
如何在 Javascript 中执行此操作?
问题是因为您的 href
格式不正确。您需要将结束 "
移动到变量之后,如下所示:
$('#ytResultsList').append('<li><a href="https://www.youtube.com/watch?v=' + item.id.videoId + '"></a></li>');
引号是你的问题 尝试:
$('#ytResultsList').append('<li><a href=\'https://www.youtube.com/watch?v=' + item.id.videoId + '\'></a></li>');
Templatestrings do have pretty good support 在现代浏览器中,如果您需要支持旧浏览器,可以进行 polyfilled - 注意反引号:
const videoId = 'bruvbiwlwfi'
const url = `https://www.youtube.com/watch?v=${videoId}`
=> "https://www.youtube.com/watch?v=bruvbiwlwfi"