Я пытаюсь понять, как в необработанном javascript (без jQuery и т. д.) найти элемент с конкретным текстом и изменить этот текст.
Мое первое воплощение решения ... менее чем адекватно. В основном я сделал следующее:
var x = document.body.innerHTML;
x.replace(/regular-expression/,"text");
document.body.innerHTML = x;
Наивно я думал, что преуспел с честью, тем более что это было так просто. Затем я добавил изображение в свой пример и подумал, что могу проверять каждые 5 секунд (потому что эта строка может входить в DOM динамически) ... и изображение мерцало каждые 5 секунд.
Упс.
Итак, есть чтобы быть правильным способом сделать это. Способ, который специально выделяет конкретный элемент DOM и обновляет текстовую часть этого элемента DOM.
Теперь всегда существует подход «рекурсивно перебирать дочерние элементы, пока вы не найдете самого глубокого дочернего элемента со строкой», чего я хочу избежать. . И даже тогда я скептически отношусь к «замене innerHTML на что-то другое» - правильный способ обновить элемент DOM.
Итак, как правильно искать строку в DOM? И как правильно обновить текст элемента DOM?