【发布时间】:2014-06-18 15:12:24
【问题描述】:
我创建了一个突出显示代码的指令,但似乎浏览器正在修改该代码,然后我才能访问并突出显示它。
这就是正在发生的事情。
我有一个名为my-compile 的指令,它基本上只是将传递的值吐到元素的innerHTML 中并在其上运行$compile。
例如:
<span my-compile="details"></span>
详细信息如下:
here are some details and here's a <code lang="java">first = temp & 0xFF &</code>
这是重要的指令代码(在链接函数中):
element.html(details); $compile(element.children())(scope);
所以$compile 看到<code> 指令并将其交给代码指令,但问题是,<code> 指令执行element.html() 来获取内容并返回:
first = temp & 0xFF &
问题是代码现在是错误的,因为第一个 & 没有被转义。
我怎样才能仍然以类似的方式使用 <code> 指令,但保留 & 符号(我假设这也发生在 > 和
我唯一的想法是查找服务,但这有点乱,但也许我唯一的选择是第二次它到达浏览器的 DOM 时它会被转义,但转义的 & 不会被双重转义。
我也尝试过使用element[0].innerHTML,我认为这可能是 Angular/jQuery 清理的东西,但事实并非如此。
【问题讨论】:
标签: html angularjs angularjs-directive