根据表格单元格设置<h2>文本 - jQuery

时间:2016-10-04 11:11:20

标签: javascript jquery html each

我试图遍历 .attr-lbl 类的8 h2 ,并将其文本设置为相应的前8位 .t0_rhc 类> td&#39; 所以基本上 h2 的第一个实例需要设置为 td 的第一个实例,依此类推。在此示例中,第一个 h2 将设置为 TEXT 1 ,第二个 TEXT 2 ,依此类推。

我尝试过.each()循环,但它会将所有 h2&#39> s 设置为相同的值(即TEXT 1) - 这是我到目前为止所拥有的:

<h2 class="attr-lbl"></h2>
<h2 class="attr-lbl"></h2>
<!-- ...etc -->

<td class="t0_rhc">TEXT 1</td>
<td class="t0_rhc">TEXT 2</td>
<!-- ...etc -->
var count = 0;
$('h2.attr-lbl').each(function() {
    var title = $('td.t0_rhc').eq(count).text();
    $('h2.attr-lbl').text(title);
    count++;
});

如何让每个h2元素的功能向下移动?在此先感谢,如有必要,请尽快详细说明

3 个答案:

答案 0 :(得分:2)

您应该对上下文敏感。使用this

var count = 0;
$('h2.attr-lbl').each(function() {
    var title = $('td.t0_rhc').eq(count).text();
    $(this).text(title);
    count++;
});

答案 1 :(得分:2)

为什么需要计数变量?

只需将 each() 用于您要迭代的元素,然后使用 eq()

$('td.t0_rhc').each(function(key, value) {
  $('h2.attr-lbl').eq(key).text($(this).text());
});

$('span.t0_rhc').each(function(key, value) {
  $('h2.attr-lbl').eq(key).text($(this).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2 class="attr-lbl"></h2>
<h2 class="attr-lbl"></h2>
<h2 class="attr-lbl"></h2>

<span class="t0_rhc">TEXT 1</span>
<span class="t0_rhc">TEXT 2</span>
<span class="t0_rhc">TEXT 3</span>

答案 2 :(得分:0)

您可以使用.text(fn)并使用当前元素的index来获取相关span

中的文字
$('h2.attr-lbl').text(function(index, _) {
  return $('span.t0_rhc:eq(' + index + ')').text();
});

&#13;
&#13;
$('h2.attr-lbl').text(function(index, _) {
  return $('span.t0_rhc:eq(' + index + ')').text();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2 class="attr-lbl"></h2>
<h2 class="attr-lbl"></h2>

<span class="t0_rhc">TEXT 1</span>
<span class="t0_rhc">TEXT 2</span>
&#13;
&#13;
&#13;