【发布时间】:2012-10-28 03:03:53
【问题描述】:
<div>
<div class="first">First Name</div>
<div class="last">Last Name</div>
<div class="edit">edit</div>
</div>
按下编辑时,我希望将 .first 和 .last 中的内容替换为文本框,其中包含文本框内 div 的内容。本质上,使内容明显可编辑。
我能够通过 replaceWith 实现这一点。
但是,如果他们单击“编辑”然后想取消,我需要文本框消失并显示原始内容。我意识到 replaceWith 会破坏现有结构。
我有使用克隆的想法,但我不确定这是否有效。
用 jQuery 解决这个问题的最佳方法是什么?
我发现了这个how to make jquery-ui.dialog revert a form on cancel,它似乎做了一些与我需要的事情相似的事情,但我无法在其中找到任何可以帮助我做我想做的事情的东西。
非常感谢,期待回复!
雅各布
【问题讨论】:
-
使用 .hide() 和 .show() 来切换文本框和原始内容怎么样?我认为这不会比使用 clone() 快得多,但它可能会更短且更容易理解。
-
在DIV上使用
contenteditable属性怎么样?