假设一个节点有任意数量的兄弟姐妹,并且我想选择该节点的nth sibling
,是否应该使用链接了n次的.next()
,还是应该只调用一次.nextAll(':eq(n-1)')
?
对于大的n来说,前者似乎会有很多额外的开销,而对于大量的兄弟姐妹,后者可能会有更大的开销。我担心涉及n = 2和大量同级的情况,因此我不确定是否要使用.next().next()
或.nextAll(':eq(1)')
。有关系吗?
编辑:对于n = 2和许多同级的情况,根据http://jsperf.com/next-next-vs-nextall-eq-1-vs-nextall-eq-1看来.next().next()
最快
最佳答案
以下是一些测试用例,可让您大致了解:
http://jsperf.com/next-vs-nextall-frist/2
http://jsperf.com/nextall-first-vs-nextuntil-last-next
比较有趣的是next()与getelementbyid的比较:
http://jsperf.com/next-vs-document-getelementbyid/2
您可以采用任何这些测试用例,并添加自己的其他测试。