js 字符串插值在 haml 中失败:javascript 过滤器
js string interpolation fails in haml :javascript filter
在 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
中被报告为问题 # 975
尝试连接字符串,因为 #
在 HAML 中很特殊。 $('#' + foo)
在 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
中被报告为问题 # 975尝试连接字符串,因为 #
在 HAML 中很特殊。 $('#' + foo)