javascript - 复制 HTML div 的值
问题描述
我有两个<div>
具有相同结构但具有不同id
-s 和name
-s 的元素。我想将一个 div 的值复制到另一个,保留属性并仅复制value
属性。
我尝试了以下方法:
$('#current-1').html($('#next-1').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="current-1">
<div id="current[1]_div1">Some text for current - div1</div>
<div id="current[1]_someelement2">Some text for current - someelement2</div>
</div>
<div id="next-1">
<div id="next[1]_div1">Some text for next</div>
<div id="next[1]_someelement2">Some text for next - someelement2</div>
</div>
它有效,但不是我想要的。输出源如下所示:
<div id="current-1">
<div id="next[1]_div1">Some text for next</div>
<div id="next[1]_someelement2">Some text for next - someelement2</div>
</div>
<div id="next-1">
<div id="next[1]_div1">Some text for next</div>
<div id="next[1]_someelement2">Some text for next - someelement2</div>
</div>
但是,首选方法是:
<div id="current-1">
<div id="current[1]_div1">Some text for next</div>
<div id="current[1]_someelement2">Some text for next - someelement2</div>
</div>
<div id="next-1">
<div id="next[1]_div1">Some text for next</div>
<div id="next[1]_someelement2">Some text for next - someelement2</div>
</div>
有可能以某种方式实现这一目标吗?问题在于current
asnext
可以有 10、15 或 20 个元素,具体取决于类型。这就是为什么我认为提及所有孩子会有点困难。
解决方案
html()
这是一个简单的解决方案,可以将所有元素从一个元素复制children()
到另一个元素,使用.each()
和使用index
每个元素
的
// Copy each of the childs of next in the childs of current
$('#current-1').children().each(function(index) {
var next = $('#next-1').children()[index];
$(this).html($(next).html());
});
// Output in console to see ids
console.log($('#current-1').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="current-1">
<div id="current[1]_div1">Some text for current - div1</div>
<label>Label for current</label>
<div id="current[1]_someelement2">Some text for current - someelement2</div>
</div>
<div id="next-1">
<div id="next[1]_div1">Some text for next</div>
<label>Label for next</label>
<div id="next[1]_someelement2">Some text for next - someelement2</div>
</div>
如果您在“当前”和“下一个”元素中始终具有相同的结构,它会完美运行。
希望能帮助到你。
推荐阅读
- swift - PresentViewController found nil value on instantiateViewController
- javascript - how to fix Failed to mount component: template or render function not defined in vue
- ios - 为什么 appsearch-validation-tool 为我在 AWS EC2 中使用 apache2 和 php7 托管的域提供错误?
- angular - 使用 Angular Universal 的动态 Web 应用程序(服务器端渲染)
- amazon-web-services - 当我使用 AWS KMS 服务创建签名时,如何使用 java 安全 API 在 AWS 之外验证数字签名?
- google-chrome - 找不到 Chrome 扩展程序的运行位置
- debugging - PhpStorm nodemon 调试 - 不要在断点处停止
- markdown - 使“电子邮件地址”不会变成超链接
- clang - AST 中的表达式大小对于成员访问不正确
- matter.js - MatterJS 允许物体通过但仍然触发碰撞