我正在做一个项目,使用的是旧版本的rails (1.2.6),没有javascript模板系统。我希望在服务器上(例如,在rhtml视图中)和在客户端(例如,当用户向表中动态添加一行时)呈现相同的HTML。
因此,例如,我有一个呈现一行输入字段的部分:
<tr><td><input /></td></tr>这在服务器上运行得很好。我的计划是在display: none目录中呈现它,以便jQuery在用户想要添加行时找到并克隆它。
不幸的是,当我只在div中呈现一个<tr>节点时,可以预见,DOM不会包含这些元素。由于该行为,这种jQuery克隆方法无法工作。
如何在服务器和客户端之间共享生成<tr>的代码?
发布于 2013-05-31 01:42:46
您可能遇到的问题是<div>不是permitted parent for a
允许的父元素
表,头,脚,体
因此,浏览器会将您损坏的<div><tr>...</tr></div>超文本标记语言更正为您无法使用的内容。使用style="display: none"只是对用户隐藏您的<div>,它不会对浏览器隐藏<div>。
偷偷通过浏览器的HTML片段的通常方法是使用带有非HTML type的</code></a>作为容器。你想要像这样的东西到达浏览器:</div><pre><code><script id="pancakes" type="text/x-template"> <tr><td><input /></td></tr> </script></code></pre><div>然后,您可以在jQuery中以纯文本的形式使用<code>$('#pancakes').html()</code>。</div><div></div><div>您可能希望与某人讨论升级到更新版本的Rails,谁知道这样一个古老且不受支持的Rails版本中存在什么样的漏洞和错误。随着时间的推移,升级只会变得更加困难。</div><div></div>
https://stackoverflow.com/questions/16841985
复制相似问题