将数据填入我的所有范围

时间:2016-07-12 12:12:41

标签: javascript jquery html css

我有8个跨度,当从页面加载时,可以看到4个从数据库中检索到的值的跨度。其他跨度位于我自己的弹出框中,当用户单击按钮查看弹出窗口时,可见的跨度值也需要位于弹出框内的跨度内。

所以我使用了一个带有两个类的each()函数,' .heart'是具有前4个跨度的类,在页面加载时可见。 ' .likes计数'是另一个在弹出框中有4个跨度的类。

我的目标是将前4个跨度中的任何值分配给弹出框中的其他跨度。

我目前卡在下面的代码中。

JS



$('.heart, .likes-count').each(function(i, element) {
  var thisID = "#" + $(this).attr('id'); // '#like1', '#like2'
  var getAgain = "." + $(thisID + " span").attr('class'); // .likeCount1

  getAgain = $(getAgain).text();
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

您可以使用jQuery&#39; s each遍历第一个div的跨度。 each的回调函数为您提供了一个索引参数,您可以使用该参数选择另一个div的相应索引跨度。

&#13;
&#13;
$("#hearts span").each(function(index){
  var text = $(this).text();
  $("#likes span").eq(index).text( text );
});//each
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="hearts">
  <span>12</span>
  <span>24</span>
  <span>36</span>
  <span>48</span>
</div>

<div id="likes">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

试试这个:

$('.heart').each(function(i) {
  $('.likes-count:eq('+i+')').text($(this).text())
});

答案 2 :(得分:1)

您可以使用.text()的回调功能,而不是使用.each()来实现此功能:

&#13;
&#13;
var heartspans = $("#hearts span");
$("#likes span").text(function(i,o){
   return heartspans.eq(i).text();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="hearts">
  <span>12</span>
  <span>24</span>
  <span>36</span>
  <span>48</span>
</div>

<div id="likes">
  <span></span>
  <span></span>
  <span></span>
  <span></span>
</div>
&#13;
&#13;
&#13;