节的jquery索引()

时间:2012-08-16 14:04:40

标签: jquery

我在包含许多section元素的div上使用jquery sortable。我想使用index()来输出每个部分的位置。

index()只返回第一部分的值,但找不到第二部分(或第三部分等)。

我无法弄清楚我做错了什么。任何帮助,将不胜感激。这是我的代码:

    <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);
        });
    });

我很无能为力。我在第一个例子中做错了什么?

1 个答案:

答案 0 :(得分: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()始终返回一个数字。