使用每个转移到另一个配对div

时间:2014-05-16 19:17:15

标签: jquery each

这看起来很简单但却让我陷入困境 我找到了具有相同类的多个div(获取附近的href),并且我想将结果发布到具有不同类的其他多个div(.div_2)。删除/替换当前在div_2中的内容。
这可以用每个吗?

$('.div_1').each(function () {
    var url = $(this).find('h3 a:first').attr('href');
    $('.div_2').html(url);
});

小提琴:http://jsfiddle.net/jxEcv/

5 个答案:

答案 0 :(得分:4)

如果div_1和div_2元素以相同的顺序可靠地出现,则可以使用索引1来使用eq()来引用相应的元素:

$('.div_1').each(function (index, value) {
    var url = $(this).find('h3 a:first').attr('href');
    $('.div_2').eq(index).html(url);
});

只要有三个div_1和三个(对应的)div_2,它们出现的相对顺序无关紧要。

答案 1 :(得分:1)

$('.div_1').each(function () {
    var url = $(this).find('h3 a:first').attr('href');
    $(this).prev('.div_2').html(url);
});

答案 2 :(得分:1)

$('.div_2').html(function () { return $(this).next().find('a').attr('href'); });

<强> jsFiddle example

答案 3 :(得分:1)

$('.div_1').each(function () {
    var url = $(this).find('h3 a:first').attr('href');
    $(this).prev('.div_2').empty().append(url);
});

答案 4 :(得分:0)

$('。div_2')是一个jQuery对象,它包含所有.div_2元素的数组,而不是引用.div_1的元素。您需要查找与.div_1

相关的$('。div_2')
$('.div_1').each(function () {
    var $this = $(this);
    var url = $this.find('h3 a:first').attr('href');
    $this.prev(".div_2").html(url);
});

这是你的更新小提琴 http://jsfiddle.net/jxEcv/2/