NodeList沒有indexOf(element)方法?那麼,我怎樣才能得到元素索引?如何獲取javascript中元素的索引?
8
A
回答
2
通過遍歷元素,並檢查它是否匹配。
通用代碼,用於查找其父代childNodes
集合中元素的索引。
function index(el) {
var children = el.parentNode.childNodes,
i = 0;
for (; i < children.length; i++) {
if (children[i] == el) {
return i;
}
}
return -1;
}
用法:
// should return 4
var idx = index(document.body.childNodes[4]);
8
節點列表客體是Array狀物體。所以可以將它「轉換」爲一個數組。
也許它可以成爲你的解決方案。
var arr = Array.prototype.slice.call(yourNodeListObject); // Now it's an Array.
arr.indexOf(element); // The index of your element :)
+0
或'let arr = Array.from(yourNodeListObject)'文檔/網絡/的JavaScript /參考/ Global_Objects /陣列/從)。 – boris 2017-12-13 23:33:24
29
您可以使用Array.prototype.indexOf.call()
這樣
let nodes = document.getElementsByTagName('*');
Array.prototype.indexOf.call(nodes, document.body);
+0
救了我。謝謝! – 2015-11-12 09:46:43
相關問題
- 1. 如何使用JavaScript獲取點擊數組元素的索引?
- 2. 獲取UL中元素的索引
- 3. jQuery中獲取使用索引()的元素的索引
- 4. 如何從javascript中的圖像獲取像素索引
- 5. 獲取父元素中元素的位置(索引)
- 6. 如何獲取Haskell列表中的元素索引
- 7. 如何通過索引獲取ng-repeat中的元素?
- 8. 如何在jQuery中獲取父元素的索引
- 9. 獲取點擊元素的索引
- 10. 獲取匹配元素的索引?
- 11. 如何獲得一個元素索引的一套固定的元素在Javascript
- 12. 如何從列表中獲取元素索引
- 13. 如何在MongoDb中按特定索引獲取元素
- 14. 如何獲得視元素索引
- 15. 如何獲取List元素的引用?
- 16. 添加類後獲取元素索引
- 17. 元素索引,jQuery或Javascript
- 18. 獲取元素的索引數組包含其他元素
- 19. 如何從json對象獲取匹配元素的索引?
- 20. Windows 8.1 - 如何在綁定CollectionViewSource時獲取元素的索引
- 21. 如何通過xpath獲取元素的索引?
- 22. 如何獲取第一個非空數組元素的索引?
- 23. 如何獲取點擊元素的索引?
- 24. 如何獲取索引器類對象的大小(元素數)?
- 25. J索引 - 按索引抓取元素
- 26. 如何通過索引獲取元素ExtJS
- 27. 如何通過其索引獲取jQuery UI標籤DOM元素?
- 28. 如何通過索引從分隔字符串獲取元素?
- 29. 如何使用Javascript獲取pageblock元素?
- 30. 如何使用javaScript獲取元素
是有一個設計原因節點列表不具有的indexOf操作? – amwinter 2012-12-20 17:09:41
如果您使用[ES6](https://developer.mozilla.org/en-US/),請使用Array.prototype.indexOf.call(NodeList,element) – anandaravindan 2015-11-20 22:30:28