Damned, QML is inconsistent! Things have a content, data or children. And apparently they can all mean the same thing. So how do we know if something is a child of something else?
After a failed stackoverflow search I gave up on copy-paste coding and invented the damn thing myself.
function isChild( a_child, a_parent ) { if ( a_parent === null ) { return false } var tmp = ( a_parent.hasOwnProperty("content") ? a_parent.content : ( a_parent.hasOwnProperty("children") ? a_parent.children : a_parent.data ) ) if ( tmp === null || tmp === undefined ) { return false } for (var i = 0; i < tmp.length; ++i) { if ( tmp[i] === a_child ) { return true } else { if ( isChild ( a_child, tmp[i] ) ) { return true } } } return false }