contents()
будет возвращать только дочерние элементы указанных вами тегов - p, div, html и body. Например, текстовый узел внутри тега td или h1 не будет найден.
Один из способов получить все текстовые узлы внутри тега <body>
с помощью jQuery - поиск потомков тела и его потомков,
$("body, body *").contents().filter(function() {
// if this is a text node and matches regex
// then do something to it
}
В этом ответе .
вы можете найти различные другие не-jQuery-подходы, чтобы получить все текстовые узлы.