【问题标题】:How can I move a DOM section including current form field values?如何移动包含当前表单字段值的 DOM 部分?
【发布时间】:2018-03-30 08:28:49
【问题描述】:

复制$('#id').html() 不会传输新的文本框值。

我如何确保这些被复制/移动到另一个 DOM 位置?

【问题讨论】:

标签: javascript jquery dom


【解决方案1】:

不要通过标记进行往返,只需使用$() 选择元素并使用appendTo 将它们附加到其他位置(这将移动而不是复制它们):

$("selector-for-the-elements").appendTo("selector-for-the-destination");

现场示例:

$(".move").val("move me");
setTimeout(function() {
  $(".move").appendTo(".into");
}, 800);
.into {
  border: 1px solid #ddd;
}
<input type="text" class="move">
<div class="into">Into me</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

注意,如果第二个选择器匹配多个目标,那么对于第二个、第三个等副本,将进行克隆;但原件将在第一个/唯一的目标中。

当然,也可以使用$() 选择目标,$() 选择元素,append 移动它们:

$("selector-for-the-destination").append($("selector-for-the-elements"));

现场示例:

$(".move").val("move me");
setTimeout(function() {
  $(".into").append($(".move"));
}, 800);
.into {
  border: 1px solid #ddd;
}
<input type="text" class="move">
<div class="into">Into me</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

【讨论】:

  • 谢谢,太好了。但是,如何仅附加 id (div) 的内容而不是 id 本身?移动一次效果很好,后退让我无法在“节点”上执行“appendChild”:新的子元素包含父元素。
  • @Teson:根据您的需要使用childrencontents(可能是contents)来选择children(或contents具有该 ID 的 div 而不是该 div 本身。
  • 优秀。 JS 不是我的领域。最好的问候/T
猜你喜欢
  • 1970-01-01
  • 2020-08-21
  • 2021-10-25
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 2015-06-21
  • 1970-01-01
相关资源
最近更新 更多