2014-02-08 2 views
-2

Учитывая элемент на странице, я хочу найти элемент в самом верху этого элемента. Так что если бы у меня был <div id="A"> с <img id="B"> сверху, если он, с <div id="C"> в верхней части изображения, с <img id="D"> поверх div, а затем из div # A я мог обнаружить, что верхний элемент был img # D.Как найти верхний элемент с jQuery

Есть ли простой способ сделать это с помощью jQuery?

Благодаря

+1

На самом верху каждого элемента будет '' –

+0

Вы имеете в виду «сверху», как в том, как элементы расположены с CSS (если они перекрываются) или как в позиции внутри структуры DOM? – nnnnnn

+0

Я имею в виду «сверху», поскольку браузер их размещает. Итак, первый элемент в HTML будет внизу, а последний элемент в HTML будет сверху. – Steve

ответ

0

Попробуйте следующее:

$('#A').parent().child('first'); 

The .parent() получит контейнер #A и .child ('первый') получит первый ребенок этого элемента.

0

Если вы знаете имя-идентификатор верхнего элемента можно использовать:

$("#d").parents("#a"); 

Это влияет на каждый родитель #d с идентификатором = «а». Для наглядности ознакомьтесь с this Fiddle.

Ther также другой способ использования родителей, если вы не знаете ID, но вы знаете, элемент верхней DIV помещается в

Например:.

<body> 
    <div id="a"> 
     This is A 
     <div id="b>"> 
      This is B 
      <div id="c"> 
       This is C 
       <div id="d"> 
        Thid is D 
       </div> 
      </div> 
     </div> 
    </div> 
</body> 

Тогда вы могли бы используйте .map() для поиска по массиву и посмотрите, является ли tagName «BODY» или нет, и если да, получите позицию в массиве - 1, и у вас есть номер массива, соответствующий элементу с идентификатором = «a».

This Fiddle очистит все.

0

Я попытался устранить проблему, с которой столкнулся во что-то простое, но я не понял суть проблемы в этом вопросе, и теперь мы уходим с пути, поэтому я не думаю, что могу сэкономить вопрос. Я извиняюсь. Я recasted вопрос на

Filtering multiple drop handler interrupts for stacked elements

Надеюсь, вы будете совать туда и посмотреть.

Спасибо, что посмотрели на вышеуказанный вопрос.

Смежные вопросы