gpt4 book ai didi

jQuery insertBefore 和单引号问题

转载 作者:行者123 更新时间:2023-12-01 03:51:31 24 4
gpt4 key购买 nike

我正在 jQuery 中执行 insertBefore

$.post('/blah', { blah : "some data" }, function(response) { 
$(response).insertBefore($this); $this.val(''); }, "script"); }

在 Rails 端,create.erb.js

'<div style="background-color:yellow;"><%= show_content %></div>'

此代码工作正常,直到输出包含破坏 HTML 渲染的 ' 。本质上返回字符串包含这样的内容

'<div ...>It's a beautiful day</div>'

我使用的是 Rails 3.0.x,并且尝试了 Rails 和 Javascript 上的转义和转义的各种组合,但没有任何效果,有什么建议吗?我可以将 ' 更改为 " 但这只会将问题转移到另一个会中断的字符。

编辑好吧,这比我想象的要复杂得多,但经过多次尝试和错误我找到了解决方案

在 Rails 端,create.erb.js

'<div style="background-color:yellow;"><%= raw(show_content.gsub(/'/, "%27")) %></div>'

jQuery

$.post('/blah', { blah : "some data" }, function(response) { 
$(unescape(response)).insertBefore($this); $this.val(''); }, "script"); }

最佳答案

因为您想将 HTML 放在元素之前。使用起来很明显:

$(element).before( YOUR HTML );

或者也许更好的解决方案应该是:

$(element).html( YOUR HTML)

并放置一个带有 id 的跨度来保存您的 HTML。

关于jQuery insertBefore 和单引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8100785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com