[Java Script] Удалить слово на странице

Impils

Может кто из атцов
написать скрипт который ищёт на станице определённое слово или предложение
и убирает его ?

puzelena

document.body.innerText = document.body.innerText.replace(/slovo/g,"");

artimon

Impils

Мне для GreaseMonkey

puzelena

а я сразу и проверил ( правда только в ie6). У меня работает.

skvoria

Без innerText:
<html>
<body>
<div id="d">jfl kfjl skfjl skdlkj слово fi sdfk ;sdlf k;sdlfk;sldkf;sdfk</div>
<script>
var oDivText = document.getElementById('d').firstChild;
oDivText.nodeValue = oDivText.nodeValue.replace( /слово/g, "" );
</script>
</body>
</html>

Если вдруг какой-нибудь хитрый браузер, не поддерживающий getElementById - добеги до textNode по DOMу (если получится )
Пример привел на случай, если текст лежит не напрямую на странице. Если прямо в body - то document.body.firstChild.nodeValue и понеслась.

kokoc88

Поле nodeValue в DOM не всегда означает текст внутри тега. Надо ещё проверять тип узла.

skvoria

Верное замечание.
Но и firstChild не всегда означает нужный текстнод
Тебе по-любому нужно знать структуру страницы, или писать нехилый скрипт, ищущий нужный узел.

kokoc88

Если это решать с таким подходом, то достаточно просто перебрать всё DOM дерево и во всех текстовых узлах изменять значения.

skvoria

Только не "во всех", а "в нужных". (представь реальную html-страницу, где помимо контента присутствует, к примеру, навигация).
Но проверка на nodeType нужна, факт.
Оставить комментарий
Имя или ник:
Комментарий: