2011-06-27 76 views
1

我试图照顾一个类似的问题,但在这里找不到任何东西。所以这是我的问题。 我有一个多个h2的结构。每个h2都有一个图像指向不同的网址。我需要从每个图像中获取这个URL并将其分配给记者h2。jQuery - 嵌套每个问题()

这里是我的代码(这一个工程,但只取得了第一个链接):

$("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); 
    }); 

,但它不工作

你能帮忙吗?由于

+0

你可以张贴一些示例HTML以及。 –

回答

2

howabout

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

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


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

需要学习键入更快!已经提出了一些好的答案。 – Max

+0

谢谢大家伙!似乎每个解决方案都有它的真相。这实际上是一项简单的工作,我找到了解决方案。谢谢! – Kandinski

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

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


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

试试这个....

2

的问题是,你是不是你的范围界定为一个标签搜索。 只是缓存$(this)并做了查找使用它,它应该为你工作:

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

    h2.append($link); 
}); 
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 ...// 
}); 

它应该工作太多,如果我非常了解你的要求。

+0

我喜欢你的答案,但是,这是每个函数里面的'this'吗?不要认为它会工作:))但是,嘿... – Val