我有一個容器,一組固定的元素(比如30)。現在,被點擊的元素,當我想在該容器中找出它的索引。如何獲得一個元素索引的一套固定的元素在Javascript
我知道我可以做:
- 集clickhandlers所有各自的指標要素,使正在單擊時,他們已經知道從封閉範圍
優點的指數:可能是最快的方式
缺點:多個事件handlers->更多對象 - >更多的內存 - 迭代通過所有的孩子,比較每個元素的一個點擊,統計指標,直到你達到它
個優點:工作
缺點:你必須通過列表進行迭代並進行比較(慢) - (建議在SO)使用previousSibling屬性返回空沿途計數每個孩子以確定你的索引
優點:作品,可能有點不是選項2更好,因爲你從孩子直開始
缺點:通過元素仍然迭代 - (解決方案我認爲),因爲有一組固定的,我們可以設置「的tabindex」屬性每個元素(在HTML或經由JS)上,當點擊該元素時,我們只是檢查元件
tabindex屬性屬性 優點:應該是一樣快的選項1個
缺點:(之前我在不使用tabIndex因爲它的目的我喊道:]),這使得可聚焦該元素,你可能會或可能不希望
因此,在性能(速度和內存)方面,上述哪一種方法最好,或者有更好的方法?
非常感謝,提前致謝。
你可以在http://jsperf.com/上自己測試這些東西。 – 2013-03-15 15:09:46
謝謝菲利克斯,我確實知道這一點,我只是想展示我已經考慮的選項,以鼓勵思考一個不同的解決方案 – nightsRey 2013-03-15 16:22:14