我有一个项目,需要从多个容器中复制文本并将其添加到其他容器中。
具体来说,我在HTML页面上的一个地方有多个问题和答案文本,我需要复制文本并将其放置在页面上的相应位置。
我已经设置了一个Codepen来更好地解释我的需求(使用4个问题进行了演示,但是在项目中我有20个问题): https://codepen.io/voodoo6/pen/xMRKpr
我需要所有“源”文本替换相应位置中的“目标”文本,例如.target > q1
和.target > a1
需要使用HTML文本.source > q1
和.source > a1
尝试获取index
问题的each
并将其与相应的div 匹配时,我的JS / Jquery技能使我失败了–例如。确保仅将问题2的源文本放在问题2的目标中。
有人可以帮助我吗?非常感谢!
答案 0 :(得分:1)
此示例可能会有所帮助:
$(function() {
$(".source-item").each(function(i, el) {
var q = $("div[class*='q']", el).text();
var a = $("div[class*='a']", el).text();
$(".target-item div.q" + (i + 1)).html(q);
$(".target-item div.a" + (i + 1)).html(a);
});
});
.target-item {
margin-bottom: 20px;
color: red;
}
.source-item {
margin-bottom: 20px;
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="target-item">
<div class="target q1">Question 1 Text Target</div>
<div class="target a1">Answer 1 Text Target</div>
</div>
<div class="target-item">
<div class="target q2">Question 2 Text Target</div>
<div class="target a2">Answer 2 Text Target</div>
</div>
<div class="target-item">
<div class="target q3">Question 3 Text Target</div>
<div class="target a3">Answer 3 Text Target</div>
</div>
<div class="source-item">
<div class="source q1">Question 1 Source Text</div>
<div class="source a1">Answer 1 Source Text</div>
</div>
<div class="source-item">
<div class="source q2">Question 2 Source Text</div>
<div class="source a2">Answer 2 Source Text</div>
</div>
<div class="source-item">
<div class="source q3">Question 3 Source Text</div>
<div class="source a3">Answer 3 Source Text</div>
</div>
希望有帮助。
答案 1 :(得分:0)
尝试选择一个具有以'a'开头的类的元素,让一个变量(let data ='')最初设置为空'',然后调用.each()将所有text()附加到该元素中,并在。每()。最后,将该数据设置为目标容器的text()。
let data=''
abc = ()=> {
$().each(()=>{
data = $(this).text()
})
$().text(data)
}
您可以轻松地选择答案,方法是在班级中添加“答案”,而您的班级“ a”作为前缀,答案编号保留在那里。对于div内容,进一步尝试使用html()或innerHtml()吗?代替text()