jQuery - 嵌套each()的问题

时间:2011-06-27 13:21:20

标签: jquery each

我试图照顾类似的问题,但在这里找不到任何问题。所以这是我的问题。 我有一个多个h2的结构。每个h2内部都有一个图像指向不同的URL。我需要从每个图像中获取此URL并将其分配给通讯员h2。

这是我的代码(这个有用,但它只提取第一个链接):

    $("h2").each(function() {

        var $link = $('a[rel=example_group]').attr("href");

        $(this).append($link);
    });

所以我尝试了这个:

    $("h2").each(function() {

        var $link = $('a[class=button zoom]').each(function(){$(this).attr("href")});


        $(this).append($link);
    });

但它不起作用

你可以帮忙吗?感谢

4 个答案:

答案 0 :(得分:3)

$("h2").each(function(i,n) {

        var $link = $(n).find('a[rel=example_group]').attr("href");


        $(n).append($link);
    });

试试这个......

答案 1 :(得分:2)

问题在于您没有确定搜索标签的范围。 只需缓存$(this)并使用它进行查找,它应该适合您:

$("h2").each(function() {
    var h2 = $(this),
        $link = h2.find('a[rel=example_group]').attr("href");

    h2.append($link);
});

答案 2 :(得分:2)

在第一个示例中,您始终在每次迭代时附加相同的链接。 不确定你要用第二个例子做什么。

在您的第一个示例中,尝试仅向选择器添加上下文:

var $link = $('a[rel=example_group]').attr("href");

通过

var $link = $('a[rel=example_group]',this).attr("href");

它应该有用。

你也可以这样做:

$("h2 a[rel=example_group]").each(function() {
    var $link = $(this).attr('href');
    // ... do what you need with $link ...//
});

如果我理解你的要求,它也应该有效。

答案 3 :(得分:2)

howabout

$("h2").each(function() {

    var $link = $(this).find('a[class=button zoom]').attr("href")});


    $(this).append($link);
});