find dom parents code example

Example 1: javascript node has parent with class

/**
     * If the element/node ('child') has the class 'classname' => return true
     * Else: call the function again with parent until parent with class is found or no parent is left
*/
function hasParentClass(child, classname){
  if(child.className.split(' ').indexOf(classname) >= 0) return true;
  try{
    //Throws TypeError if child doesn't have parent any more
    return child.parentNode && hasParentClass(child.parentNode, classname);
  }catch(TypeError){
    return false;
  }
}

Example 2: javascript find nearest element

// Find the number from `arr` which is closest to `n`
const closest = (arr, n) => arr.reduce((prev, curr) => Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev);

// Or
const closest = (arr, n) => arr.sort((a, b) => Math.abs(a - n) - Math.abs(b - n))[0];

// Example
closest([29, 87, 8, 78, 97, 20, 75, 33, 24, 17], 50);   // 33