2012-08-16 66 views
2

我使用jquery排序在div包含一些節元素。我想使用index()來輸出每個部分的位置。jQuery的索引()的部分

指數()只返回第一個區間值,但它無法找到第二個(或第三,第四等)

我想不出什麼我做錯了。任何幫助,將不勝感激。這裏是我的代碼:

<div id="existingquestions" class="sortable"> 
      <section class="question" id="question_777"> 
       <p id="positionof_777"></p> 
       <p class="questiontext">question.text</p> 
       <script>$(document).ready(function() { 
          var qpos = Number($('.sortable > section:visible').index('#question_777')+1); 
          $('#positionof_777').html(qpos); 
         }); 
       </script> 
      </section> 
      <section class="question" id="question_888"> 
       <p id="positionof_888"></p> 
       <p class="questiontext">question.text</p> 
       <script>$(document).ready(function() { 
         var qpos = Number($('.sortable > section:visible').index('#question_888')+1); 
         $('#positionof_888').html(qpos); 
        }); 
       </script> 
      </section> 
    </div> 

,我使用的作品就好了,雖然它基本上與上述相同的其他功能:

$(document).ready(function() { 
     $('input').placeholder(); 
     $(".sortable > section:visible").hover(function() { 
      var index = $(this).index()+1; 
      $("#example_index").html("Index " + index); 
     }); 
    }); 

我無言以對。第一個例子中我做錯了什麼?

+0

會發生什麼情況?什麼是錯誤?什麼工作? – 2012-08-16 14:08:24

+1

http://jsfiddle.net/RWsnS/似乎把「1」置於正確的位置。你期望發生什麼? – verdesmarald 2012-08-16 14:09:30

+0

@veredesmarald - 我剛剛編輯了我的問題,在那裏提供了更多的解釋。對不起,如果我的消息一開始並不清楚。 – boszlo 2012-08-16 14:19:23

回答

1

這將是你期望的工作:

<div id="existingquestions" class="sortable"> 
    <section class="question" id="question_777"> 
    <p id="positionof_777"></p> 
    <p class="questiontext">question.text</p> 
    <script> 
     $(document).ready(function() { 
      var qpos = $('.sortable > section:visible#question_777').index() + 1; 
      $('#positionof_777').html(qpos); 
     }); 
    </script> 
    </section> 
    <section class="question" id="question_888"> 
    <p id="positionof_888"></p> 
    <p class="questiontext">question.text</p> 
    <script> 
     $(document).ready(function() { 
      var qpos = $('.sortable > section:visible#question_888').index() +1 ; 
      $('#positionof_888').html(qpos); 
     }); 
    </script> 
    </section> 
</div> 

Working sample

你不需要Number轉化,.index()總是返回一個數字。

+0

謝謝!正是我需要的。 – boszlo 2012-08-16 14:30:23

+1

@ user1590158歡迎。 – thecodeparadox 2012-08-16 14:30:50