Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена о всём документе (https://javascript.ru/forum/misc/83518-zamena-o-vsjom-dokumente.html)

lolio 30.12.2021 07:29

Замена о всём документе
 
Есть файл конфига где указываем элементы которые скрываем, и есть соответственно

if(appConfig.hideElementsId.length > 0) {
    for(let elementsId = 0; elementsId < appConfig.hideElementsId.length; elementsId++) {
      let hiddenElementsId = document.getElementById(appConfig.hideElementsId[elementsId])
      hiddenElementsId ? hiddenElementsId.style.display='none' : console.log

Вопрос в том, как сделать поиск и замену определенных вхождений, только не в определенном id, а во всем документе который получаем?
Спасибо и с наступающим Новым Годом:help:

рони 30.12.2021 08:18

lolio,
подожду переводчика ... а пока

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Спасибо! и вас с Новым годом!!!

ksa 30.12.2021 09:05

Цитата:

Сообщение от lolio
определенных вхождений, только не в определенном id

Как бы тут по подробнее нужно рассказать... :-?

lolio 30.12.2021 10:23

Ну если мы делаем
document.getElementById('NAME_DIV')

.style.display='none'
, то мы просто заменяем видимость элемента на none.
Как сделать так, что бы допустим не зависимо от блока. произвести поиск и замену допустим во всех местах слово "Hi" на "Hello"
Пробывал
.body.innerHTML. replace
но не помогает

ksa 30.12.2021 10:44

Цитата:

Сообщение от lolio
произвести поиск и замену допустим во всех местах слово "Hi" на "Hello"

Как вариант перебирать все элементы ДОМ-дерева... Проверять все их текстовые ноды...
И уже в найденном менять одно на другое...

ksa 30.12.2021 11:03

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<!--
-->
<style>
</style>
<script>
$(_ => {
	const val = 'Hi'
	const str = 'Hello'
	$(':contains("'+ val +'")').each((i, o) => {
		if (o.tagName === 'SCRIPT') return
		o.childNodes.forEach(o => {
			if (o.nodeType !== Node.TEXT_NODE) return
			if (o.nodeValue.indexOf(val) === -1) return
			o.nodeValue = o.nodeValue.replace(val, str)
		})
	})
})
</script>
</head>
<body>
<div>
	<p>Hi man</p>
</div>
</body>
</html>

lolio 30.12.2021 14:08

можете в лс помочь?)

ksa 30.12.2021 16:53

lolio, я не на столько хотел вникать в твою проблему... :-?


Часовой пояс GMT +3, время: 22:18.