跨度未解码的 HTML 是 Knockout.js 还是 Jquery 移动服务器?
Posted
技术标签:
【中文标题】跨度未解码的 HTML 是 Knockout.js 还是 Jquery 移动服务器?【英文标题】:Html not decoded in span is it Knockout.js or Jquery mobile doing things? 【发布时间】:2014-07-11 15:44:40 【问题描述】:我正在尝试在使用 Jquery Mobile UI 和 knockout.js 的页面上将具有特殊字符 '
('
) 的警告消息显示为文本。文本由 javascript 函数返回并在 .NET 端进行编码。问题是它被解释为文字,而JSfiddle 中的完全相同的html 被解释为'
。
又是 Knockout.js 还是 JQuery Mobile,还是我在这里遗漏了什么?
我在下面的屏幕截图中打印了返回 Chrome 开发工具中的值的函数,你也可以看到 html。
【问题讨论】:
我认为问题在于您正在绑定文本而不是 html。像这样jsfiddle.net/Spokey/Vdu9d/1。我不知道 knockout.js,但我看到有一种方法可以绑定 html。 @Spokey - 将其发布为答案 @Spokey 如果你想使用它,我会淘汰你的fiddle @Spokey 这是淘汰赛,请将其发布为答案。谢谢。 【参考方案1】:问题是你要追加的字符串是一个HTML实体,如果你append it as text它就不会被渲染
感谢@Origineil 为fiddle 提供淘汰赛证明了同样的事情。
<span data-bind="text: data"></span><br/> <!-- ' -->
<span data-bind="html: data"></span> <!-- ' -->
还有脚本
var vm =
data: ko.observable('3 Optional Activities aren't Done')
;
ko.applyBindings(vm)
【讨论】:
以上是关于跨度未解码的 HTML 是 Knockout.js 还是 Jquery 移动服务器?的主要内容,如果未能解决你的问题,请参考以下文章
knockout.js 数据中的嵌套 foreach 显示但未正确显示