Buenas,
Antes de nada, tienes un error en el uso de setTimeout, sólo usa dos parámetros, la función y el tiempo. Y el this de la función en este caso será el objeto window.
Para pasar el this que te interesa puedes usar por ejemplo una función anónima Y para comprobar si se ha eliminado del DOM tendrás que mirar si existe. Por ejemplo si tienes una referencia al padre mirar en su lista de hijos. En la matriz childNodes se reflejan los cambios que se hacen en la jerarquía del DOM en tiempo real, y aunque se volviera a crear con innerHTML un elemento con el mismo contenido no sería idéntico, de ahí la importancia del operador ===.
Código Javascript
:
Ver originalthis.x=setInterval(function() { b(this); }, 100);
function b(t)
{
var papi = document.getElementById('padre');
var childs = papi.childNodes;
var n = childs.length;
for (var i = 0; i < n; ++i)
{
if (childs[i] === t) // Importante: ===, no vale ==
{
clearTimeout(t.x);
t.x = null;
return;
}
}
}