Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2011, 02:33
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Подскажите способ узнать порядковый номер элемента в родителе
Нужно написать функцию узнающую порядковый номер элемента в контейнере. К примеру элемента "c", то есть функция должна вернуть 3

.
<div id="container">
      <div id="a"> </div>
      <div id="b"> </div>
      <div id="c"> </div>
      <div id="d"> </div>
<div id="/container">


в голову приходит пока только такое решение.

//target это элемент, номер которого мы должны узнать. Причём не id и не класс а именно элемент выбранныый где то 
//предварительно  при помощи метода $("")
function getNum(target){
  var ret=0;
  target.parent().each(function(){
       ret+=1;
       if (this==target) break;
  });
  return ret;
}


Надо полагать работать будет.
Может всёже, можно определить номер как нибудь без циклов ?? Сделать это как-то умнее.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 10.09.2011 в 02:54.
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2011, 10:37
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

function getNum(el) {
    var i = 0;
    while (el = el.previousSibling) {
        el.nodeType == 1 && i++;
    }
    return i;
}
Как-то так, думаю, покатит. Здесь el - DOM элемент, поэтому если с jquery то как-то так getNum($collection[0]). Или переписать под jquery, использую .prev(), то же самое, просто работать будет чуть-чуть медленнее.

Последний раз редактировалось ваый, 10.09.2011 в 10:45.
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2011, 10:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

$("#c").index()

пример :
<div id="container">
      <div id="a"> </div>
      <div id="b"> </div>
      <div id="c"> </div>
      <div id="d"> </div>
</div>
<script src="http://yandex.st/jquery/1.6.3/jquery.min.js"></script>
<script>
alert($("#c").index())
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2011, 11:21
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

<div id="hello">
 7687
</div>

<div id="container">
      <div id="a"><div>тест </div> </div>
      <div id="b"><div>тест </div> </div>
      <div id="c"> </div>
      <div id="d"> </div>
</div>
<script src="http://yandex.st/jquery/1.6.3/jquery.min.js"></script>
<script>
alert($("#c").index())
</script>

Да ! Походу это то что нужно.
СПС, плюсую.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 10.09.2011 в 11:28.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить порядковый номер элемента DOM ? dummer jQuery 7 17.01.2014 17:44
Узнать порядковый номер элемента Nihisil jQuery 5 26.12.2012 13:06
Как узнать имя элемента syegorius Events/DOM/Window 3 12.10.2011 18:07
узнать номер окна и номер таба cyberovskij Events/DOM/Window 8 22.05.2011 11:28
Узнать CSS правило для элемента vinet Events/DOM/Window 4 10.12.2010 08:12