如何使用jquery用第二个选择器中的文本替换第一个选择器上的文本

时间:2014-12-10 13:10:13

标签: jquery

我想替换此选择器中的文字 .list-text> p ,带有文字  此选择器 .other-text> p ,这里是HTML:

<div class="list-text">
    <p>Text 1</p>
    <p>Text 2</p>
    <p>Text 3</p>
</div>

<div class="other-text">
    <p class="new-text">new text 1</p>
    <p class="new-text">new text 2</p>
    <p class="new-text">new text 3</p>
</div>

变为

<div class="list-text">
    <p>new text 1</p>
    <p>new text 2</p>
    <p>new text 3</p>
</div>

我试着写下像吼叫的js,但没有运气:

(function($){
    $('.list-text p').each(function (i) {
        var $this_text = $(this).text();
        $('.other-text p').text($this_text);
    });
})(jQuery);

我做错了吗?

2 个答案:

答案 0 :(得分:4)

您可以迭代p标记并使用当前索引从所需元素中获取文本:

$('.list-text p').each(function(i){
  $(this).text($('.other-text p').eq(i).text());
});

<强> Working Demo

答案 1 :(得分:1)

text() jq方法接受一个函数,你可以改为使用:

$('.list-text p').text(function (i) {
    return $('.other-text p').eq(i).text();
});

-DEMO-