回答
從jQuery.index()
documentation,其中大量的實例:如果沒有參數被傳遞給.index()
方法
返回值
,返回值是指示所述第一位置的整數jQuery對象中相對於其同級元素的元素。
如果在元素集合上調用
.index()
並傳入了DOM元素或jQuery對象,.index()
返回一個整數,指示傳遞的元素相對於原始集合的位置。如果選擇器字符串作爲參數傳遞,
.index()
返回一個整數,指示原始元素相對於選擇器匹配的元素的位置。 如果找不到元素,.index()
將返回-1。
注意最後一句。顯然elem
是根本找不到。驗證您的選擇器和/或元素。
更新按照該意見,你可能在錯誤的時刻調用它。這是一個SSCCE,copy'n'paste'n'run它。
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 3740385</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
alert('Before DOM ready: ' + $(".nav ul li:first").index()); // Can return -1.
$(document).ready(function() {
alert('After DOM ready: ' + $(".nav ul li:first").index()); // Must return 0.
});
</script>
</head>
<body>
<div class="nav">
<ul>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
</div>
</body>
</html>
參見:
但它可以在firebug中選擇它,所以我的選擇器工作,但它仍然給我-1。這裏有一個例子,'$(「。nav ul li:first」)。index();'返回-1,但是$(「。nav ul li:first」)是一個工作選擇器。 – Trip 2010-09-18 05:02:28
這裏給出0。 [演示](http://jsfiddle.net/ujcaf/)。也許你在錯誤的時刻調用它(在DOM加載之前)。把它放在'$(document).ready()'中。 – BalusC 2010-09-18 05:08:24
也許它是我正在使用的js的舊版本,或者它在螢火蟲中不起作用。我使用這個而不是'$(「。nav ul li:first」)。prevAll()。length;' – Trip 2010-09-18 05:15:06
- 1. jQuery .index()總是返回1
- 2. jquery index()返回-1
- 3. RegDBKeyExists總是返回-1(不正確)
- 4. JQuery的:的.index()返回-1
- 5. index一個jQuery對象總是返回-1
- 6. 搜索方法總是返回-1
- 7. Date compareTo()方法總是返回-1
- 8. update_attributes方法返回總是正確的,即使nested_attributes無效
- 9. $ parent。$ index總是返回0
- 10. Array.IndexOf總是返回-1
- 11. NSUserDefaults總是返回1而不是正確的整數
- 12. Javascript indexOf()總是返回-1
- 13. jQuery的餅乾總是返回1
- 14. jQuery的返回指數-1總是
- 15. jQuery的inArray()總是返回-1
- 16. QComboBox :: findData()總是返回-1
- 17. layoutmanager.FindFirstCompletelyVisibleItemPosition總是返回-1
- 18. F#List.length總是返回1?
- 19. jQuery.inArray總是返回-1
- 20. 的Statement.executeUpdate()總是返回1
- 21. json inArray總是返回-1 jquery
- 22. NewCookie.getMaxAge()總是返回-1
- 23. Java JList.getSelectedIndex()總是返回-1
- 24. 使用ctypes libc.strlen時總是返回1?
- 25. sendmmsg總是返回1
- 26. INNER JOIN總是返回1行(即使它是空的)?
- 27. ExecuteNonQuery()總是返回-1
- 28. VBA getPixel總是返回-1
- 29. ExecuteNonQuery總是返回-1
- 30. 方法總是返回null
這意味着元素沒有找到。請發佈示例HTML和JavaScript。 – 2010-09-18 04:35:01
看看[**這個例子的用法**](http://jsfiddle.net/N3MfU/) – 2010-09-18 06:02:34