var el = clickedElement;
var chl = el.closest('li');
var prt = chl.parentNode;
var idx = Array.prototype.indexOf.call(prt.children, chl);
我使用此代碼從 parentNode 獲取 clickedElement 的索引號..它大部分時間都有效..我希望能夠從索引號中過濾掉一些元素
例如..
li.zero
li.first
h2
li.second
如果我嘗試使用此代碼將 li.second 元素作為索引 2,它會為我提供索引“3”,因為中間有 h3 標簽。我如何從計數中排除某些元素?
uj5u.com熱心網友回復:
你可以用這個Array.prototype.filter方法。
它可能看起來像這樣:
var idx = Array.prototype.indexOf.call(
Array.from(prt.children)
.filter(domNode => domNode.tagName.toLowerCase() === "li"),
chl
);
現在您將只檢查串列項元素的索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334711.html
標籤:javascript dom
