这看起来很简单但却让我陷入困境
我找到了具有相同类的多个div(获取附近的href),并且我想将结果发布到具有不同类的其他多个div(.div_2)。删除/替换当前在div_2中的内容。
这可以用每个吗?
$('.div_1').each(function () {
var url = $(this).find('h3 a:first').attr('href');
$('.div_2').html(url);
});
答案 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/