我试图遍历 .attr-lbl 类的8 h2 ,并将其文本设置为相应的前8位 .t0_rhc 类> td' 所以基本上 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元素的功能向下移动?在此先感谢,如有必要,请尽快详细说明
答案 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();
});
$('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;