Я же написал, небольшой оффтоп, но тема та же.
1) есть элемент А.
2) выше его есть элементы B, нужно найти ближайшего родителя, т.е. пошел от обратного - проверяю не то, что A является дочерним B, а начиная от элемента A ищу ближайшего родителя B.
var _searchNsAttr = function (element, attribute) {
if (element == document.body) {
return false;
}
var attrName = element.getAttribute('data-ns-' + attribute);
if (!!attrName) {
return attrName;
} else {
return _searchNsAttr(element.parentNode, attribute);
}
};