Во-первых, вы можете поместить код в <head>
, если настроите его запуск во время готовности документа.
Однако, это все равно не сработает. Вы перебираете все теги. Включая <html>
, который будет первым, выбранным $('*')
.
Таким образом, вы читаете весь текст внутри элемента <html>
(т. Е. Весь текст документа), делаете замену строки на нем, а затем записываете его обратно в html text()
. Замена всего предыдущего текста и содержимого элемента <html>
одной простой текстовой строкой. И тем самым уничтожая все остальные элементы на странице. К сожалению.
Что вы хотите сделать, так это найти каждый текстовый узел и заменить его отдельной строкой:
$(document).ready(function() {
$('*').each(function() {
for (var i= this.childNodes.length; i-->0;) {
var child= this.childNodes[i];
if (child.nodeType===3) // TEXT_NODE
child.data= child.data.replace(/Respuesta/g, 'Responder');
}
});
});
(Обратите внимание, что здесь все еще есть множество возможных крайних случаев с полями формы и другими элементами, в которых изменение текста внутри них может не сработать, как вы ожидаете.)