function semverCompare(a, b) {
	var pa = a.split('.');
	var pb = b.split('.');
	for (var i = 0; i < 3; i++) {
		var na = Number(pa[i]);
		var nb = Number(pb[i]);
		if (na > nb) {
			return 1;
		}
		if (nb > na) {
			return -1;
		}
		if (!isNaN(na) && isNaN(nb)) {
			return 1;
		}
		if (isNaN(na) && !isNaN(nb)) {
			return -1;
		}
	}
	return 0;
}
The following 2 functions are supposed to find the next/previous sibling until the
passed `selector` is matched. But for now it actually finds the next/previous
element of `this` element in the list of `selector` matched element inside `this`'s
parent.
@param  Selector that should match for next siblings
@return element Next element that mathes `selector`