2013-04-10 106 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。