如何找到第一个div图像?

时间:2013-09-11 10:20:42

标签: jquery css

我有以下html:

<div id="test">
  <div>
    <div>
      <div>
         <div>
           <img /><img /><img /> <!--target these images only-->
         </div>
         <div>
           <img /><img /><img />
         </div>
     </div>
   </div>
  </div>
</dvi>

如何定位#test的图片?

.find('#test div:first-child img') / *很可能这个但似乎是错误的陈述* /


如何使用?

$('#test img')。parent('div')。parent('div')。children('div:first img');

3 个答案:

答案 0 :(得分:0)

它在很大程度上取决于包含#text

的父选择器

你正试图使用​​find:

.find('#test div:first-child img')

如果像这样的话,确实会有效吗

$('body').find('#test div:first-child img')

但是,如果你想将它用作普通选择器,试试这个:

$('#test div:first-child img')

不确定你的目的是什么:/

更新回答

简单:

$('#test > div > div > div > div:first img')

答案 1 :(得分:0)

$('#test').find('div').has('img')[0].find('img')

更新: 这需要更多调整:)

var sdf = $('#test div').filter(function(){
    return $(this).children('img').size() > 0;
})[0];
$(sdf).children('img').css({'border': 'red 1px solid'})

http://jsfiddle.net/cwCCU/1/

注意: 第一个版本捕获了所有具有img的div的父级div,因此[0]不是目标div。第二个版本只得到了img的直接父项的div,所以[0]包含第一个:)

答案 2 :(得分:0)

一个班轮

$("#test div:has(> img):first img")

http://jsfiddle.net/Eb5sA/