【发布时间】:2021-09-14 19:28:45
【问题描述】:
在haml和jquery环境中,以下haml失败:
#result
:javascript
var foo = "result"
$(`#${foo}`).text('some text')
其他测试表明,javascript 过滤器中的字符串插值如下:
#result
:javascript
var foo = "qux"
$('#result').text(`#${foo}`)
当 '$' 前面紧跟 '#' 时失败。但是当中间有空格时它会成功!
当我需要在嵌入值之前加上“#”时,如何在 javascript 过滤器中实现字符串插值?
提前感谢您提供的任何见解。
[编辑] 当然@Barmar 的串联建议是一个很好的解决方法。我还刚刚发现这在 haml git repo 中报告为 issue# 975
【问题讨论】:
-
尝试使用反斜杠转义
#。它用于 HAML 中的一些特殊功能,虽然我找不到任何提及#$。 -
如果这不起作用,请返回字符串连接。
$('#' + foo) -
感谢@Barmar,转义
#不起作用。我什至没有想到字符串连接,但它当然工作得很好!
标签: javascript haml