2013-04-10 163 views
0

我知道在jQuery中,你可以通過與特定類型的所有元素進行迭代:迭代特定元素

$(function() { 
    $('img').each(function() { 
    }); 
}); 

如果我想通過一個特定的div元素來itterate,我嘗試使用('#div' > a)選擇但似乎不工作

+0

請張貼您的標記,這樣我們可以爲您的需要提供合適的選擇器 – fcalderan 2013-04-10 11:38:09

+3

您的選擇器應該是''#div> a'',而不是'('#div'> a)' – 2013-04-10 11:38:26

+0

你想要什麼? ?請澄清問題...即使你做錯了問題,它必須是''('div'a')'在'jQuery'中被稱爲父子選擇器 – 2013-04-10 11:39:21

回答

1

$(function() { 
     $('#div_id img').each(function() { 
      alert($(this).attr('src')); 
     }); 
}); 
+0

'img'標記沒有'href'屬性, – 2013-04-10 11:41:48

+0

@ Gautam3164完美的作品,這個選擇器和我使用的選擇器有什麼區別?是不是>爲孩子? – Crossman 2013-04-10 11:43:28

+0

yes'>'表示'直接子',而'#div img'表示'#div'內的所有圖像。 – 2013-04-10 11:45:28

0

「嘗試,如果我想通過元素itterate什麼在一個特定的div,我 使用(「#div」> A)選擇,但似乎並沒有工作」

這是$('#div > a'),這將只針對a元素是直接的孩子嘗試元素與iddiv

遍歷這些你能做到以下幾點:

$('#div > a').each(function (index) { 
    console.log(this); //your a element 
    console.log(index); //the loop index 
}); 
0

從你證明什麼:你的CSS樣式選擇確實應該是$(「DIV>一」)(援引dystroy)如果僅當a-tag是div標籤的直接後代(即孩子),否則我寧願去尋找$(「div a」),它將搜索所有後代。

注意我已經從這裏刪除了#div - 我假設你確實是指對div標記的引用,而不是對id爲「div」的某個元素。如果id實際上是「div」,那麼是使用#div。