2011-06-27 111 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