UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

42 lines (29 loc) 1.16 kB
/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ Class('Ariadne.DomQueryFinder.Identifier.NthOfType', { isa : Ariadne.QueryFinder.Identifier, methods : { identify : function (target, root, maze) { var parentElement = target.parentElement if (!parentElement) return null // SVG elements in IE does not have ".children" var siblings = parentElement.children || parentElement.childNodes var counter = 0 var tagName = target.tagName.toLowerCase() for (var i = 0; i < siblings.length; i++) { if (siblings[ i ].tagName.toLowerCase() == tagName) { counter++ if (siblings[ i ] == target) break } } return { query : ':nth-of-type(' + counter + ')', weight : 1e6 } } } });