JavaScript ci offre una soluzione molto semplice stabilire se un elemento contiene solo testo.
La soluzione è la seguente:
const hasOnlyText = element => {
if(element === null || !element) {
throw new Error('Invalid element parameter');
return false;
}
if(element.children.length > 0) {
return false;
}
if(element.textContent.length === 0 || /^\s+$/.test(element.textContent)) {
return false;
}
return true;
}