Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Замена в div'e (https://javascript.ru/forum/dom-window/31871-zamena-v-div%27e.html)

Inf42 24.09.2012 04:22

Замена в div'e
 
Есть div, содержащий изображения:
<div id="images">
<img src="http://notmysite.ru/images/news/347.jpg">
<img src="http://notmysite.ru/images/news/348.jpg">
<!-- Сотня картинок еще -->
<img src="http://notmysite.ru/images/news/449.jpg">
</div>

Нужно средствами JS заменить в ссылках домен.

Допустим, я беру картинки...
var d.document;div=d.getElementById('images');
images=div.getElementsByTagName('img');

...а дальше надо как-то перебрать их и заменить. Подскажите, пожалуйста.

bes 24.09.2012 08:34

Если на картинки не навешано обработчиков, можно заменить innerHTML replace-ом, если загрузка картинок не нужна onload убрать, риплейсить можно и сам домен, если подобных слов не встречается, либо перебирайте в цикле
<div id="images">
	<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
	<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
</div>

<script>
window.onload = function () {
	var  div = document.getElementById('images');
	setTimeout(function () {
		div.innerHTML = div.innerHTML.replace(/http:\/\/javascript.ru/g, 'http://mysite.com');
		alert(div.innerHTML)
	}, 2000);
}
</script>

sotik 25.09.2012 13:58

Приветствую.
Казалось бы элементарные вещи,но работают через раз, не могу понять почему..
function change_visibility (block_4_close, block_4_open) {
document.getElementById(block_4_close).style.displ ay='none';
document.getElementById(block_4_open).style.displa y='';
}

//функция вставки контента
function loadContent(element_id, info) {
                 //Если элемент с id-шником element_id существует 
if (document.getElementById(element_id)){
document.getElementById(element_id).innerHTML = info;
setTimeout("change_visibility ('block_id','iv0')",5000);
}
}

change_visibility('iv0','iv2');
loadContent('block_id','вы выиграли');
<div id="iv2">
Пуск
</div>
<div id="block_id">
</div>
<div id="iv0">
Помощь
</div>
Сначала скрывается "Помощь", затем на 5 сек появляется "вы выиграли", а потом опять "Помощь" и в это время скрывается сообщение "вы выиграли".
Но чаще всего бывает что сообщение "вы выиграли" вообще не появляется.


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