我在包含许多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);
});
});
我很无能为力。我在第一个例子中做错了什么?
答案 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>
转换不需要Number
,.index()
始终返回一个数字。