Получение индекса выбранного элемента - PullRequest
0 голосов
/ 15 марта 2011

Привет, у меня есть этот код.Мне нужно получить индекс щелкающего элемента на основе 0.

Это мой код.Я всегда получаю -1 в качестве индекса.В идеале, щелкнув первую ссылку, вы получите 0, а вторая - 1. Я использую jquery 1.3.2.Код JavaScript тоже подойдет.

Что мне не хватает?

<script type="text/javascript">
function handleClick(id) {         
         var par = document.getElementById('par'+id);         
         alert('Index= ' + $('#clips').index(par));
      }
</script>

<div id="clips" style="clear:both">                                                   
         <div id="par30" class="alb rc32">
            <div class="fl rc32 thm">
               <a id="30" onclick="handleClick(30);">Link 1</a>
            </div>
         </div>
         <div id="par40" class="alb rc32">
            <div class="fl rc32 thm">
               <a id="40" onclick="handleClick(40);">Link 2</a>
            </div>
         </div>
         <div id="par50" class="alb rc32">
            <div class="fl rc32 thm">
               <a id="50" onclick="handleClick(50);">Link 3</a>
            </div>
         </div>                                         
      </div>

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Это работает:

<script type="text/javascript">
    function handleClick(id) {
        var $par = $('#par' + id);
        alert($par.index());
    }

    <div id="clips" style="clear:both">                                                   
     <div id="par30" class="alb rc32">
        <div class="fl rc32 thm">
           <a href="javascript:void(0);" id="30" onclick="handleClick(30);">Link 1</a>
        </div>
     </div>
     <div id="par40" class="alb rc32">
        <div class="fl rc32 thm">
           <a href="javascript:void(0);" id="40" onclick="handleClick(40);">Link 2</a>
        </div>
     </div>
     <div id="par50" class="alb rc32">
        <div class="fl rc32 thm">
           <a href="javascript:void(0);" id="50" onclick="handleClick(50);">Link 3</a>
        </div>
     </div>                                         
  </div>
0 голосов
/ 15 марта 2011

Вы используете функцию индекса неправильно.

Попробуйте

<script type="text/javascript">
function handleClick(id) {         
         var par = document.getElementById('par'+id);         
         alert('Index= ' + $('#clips > div').index(par));
      }
</script>

см. http://api.jquery.com/index/

Если в коллекции вызывается .index ()элементов и передается элемент DOM или объект jQuery, .index () возвращает целое число, указывающее позицию переданного элемента относительно исходной коллекции.

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