jQuery - 嵌套each() 的问题

发布于 2024-11-17 03:22:07 字数 536 浏览 1 评论 0原文

我试图解决类似的问题,但在这里找不到任何问题。所以这是我的问题。 我有一个包含多个 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);
    });

但它不起作用

你能帮忙吗?谢谢

I tried to look after a similar problem but couldn't find any here. So here is my problem.
I have a structure with multiple h2. Each h2 have an image inside that points to a different url. I need to fetch this url from each image and assign it to the correspondent h2.

Here is my code (this one works, but it only fetches the first link):

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

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

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

So I tried this:

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

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


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

but it is not working

Could you help? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

↘人皮目录ツ 2024-11-24 03:22:07
$("h2").each(function(i,n) {

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


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

试试这个....

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

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


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

try this....

吃颗糖壮壮胆 2024-11-24 03:22:07

怎么样

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

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


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

howabout

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

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


    $(this).append($link);
});
笑看君怀她人 2024-11-24 03:22:07

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

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

    h2.append($link);
});

The problem is that you are not scoping your search for the a tag.
Just cache $(this) and do a find use it and it should work for you:

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

    h2.append($link);
});
深者入戏 2024-11-24 03:22:07

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

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

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

by

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 ...//
});

如果我很好地理解您的要求,它也应该有效。

In your first example you always append the same link over each iteration.
Not sure what you're trying to do with the second example.

In your first example try to just add a context to your selector changing:

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

by

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

and it should work.

You also can do something like:

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

It should work too if i understand well your request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文