Получить индекс jquery элемента - только включая определенные типы элементов - PullRequest
7 голосов
/ 21 октября 2011

У меня есть такой код:

<h2 id="a">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

<h2 id="zzz">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

<h2 id="123">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

Я хочу иметь возможность определить с помощью jQuery индекс данного h2, исключая все другие элементы, поэтому относящиеся только к элементам h2.Так, например, если бы я получил индекс элемента с id = "123", он вернул бы 3, так как это третий h2 в дереве.

Я пробовал это:

$('#123').index('h2');

Но, похоже, это не работает.Он все еще считает другие элементы на том же уровне структуры DOM в подсчете.

1 Ответ

17 голосов
/ 21 октября 2011

Вы должны указать коллекцию элементов, затем использовать index(<element>), чтобы получить индекс данного элемента.Примечание. Аргумент должен быть объектом jQuery или DOM.Струны не работают.Обратите внимание, что индексы JavaScript начинаются с нуля, поэтому индекс 2 фактически означает третий элемент .

$("#123").parent().children('h2').index($('#123'))

Fiddle: http://jsfiddle.net/2dg2q/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...