我有一个 td 元素:
<td data-bind="html: name"></td>
我有 JavaScript 中的数据
var name = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.Name))';
模型名称是 <tag
或 < tag
.
在 javascript 中它看起来像:\u003ctag
和 \u003c tag
.
在第一种情况下,我没有看到 <tag
以及之后的一切。
在第二种情况下,我确实看到了 < tag
.
为什么第一种情况不起作用?
最佳答案
它不起作用,因为 Element.innerHTML不知道如何处理您提供的参数。 在第二种情况下,输入被简单地视为文本,这就是它显示的原因,但在第一种情况下,它试图解释为 HTML(毕竟这就是 innerHTML 和 kendo 的 html 绑定(bind)的目的)。
如果您尝试显示 <tag
,那么你应该简单地使用文本绑定(bind):
<td data-bind="text: name"></td>
如果 Model.Name 实际上包含应该呈现的 HTML,则它的格式应该正确并且具有结束标记。
关于javascript - kendo 绑定(bind)到 html 时不显示减号 (<),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183424/