Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2011, 18:37
Аспирант
Отправить личное сообщение для faforty Посмотреть профиль Найти все сообщения от faforty
 
Регистрация: 15.04.2011
Сообщений: 47

Вставка тега
Скажите пожалуйста, возможно ли такое сделать на js, чтобы через каждые пять тегов, например
<div id="name">бла-бла</div>
<div id="name">бла-бла</div>
<div id="name">бла-бла</div>
<div id="name">бла-бла</div>
<div id="name">бла-бла</div>
вставлялся <div id="foo"> ?
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2011, 18:44
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

(function () {
	var elems = document.getElementsByTagName("*");
	for (var i = 0, j = 0; i < elems.length; i++) {
		if (elems[i].id == "name") {
			if (++j % 5 === 4) {
				var div = document.createElement("DIV");
				div.id = "foo";
				elems[i].parentNode.insertBefore(elems[i], elems[i].nextSibling);
			}
		}
	}
})();
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2011, 20:28
Аспирант
Отправить личное сообщение для faforty Посмотреть профиль Найти все сообщения от faforty
 
Регистрация: 15.04.2011
Сообщений: 47

Сообщение от Matre Посмотреть сообщение
(function () {
	var elems = document.getElementsByTagName("*");
	for (var i = 0, j = 0; i < elems.length; i++) {
		if (elems[i].id == "name") {
			if (++j % 5 === 4) {
				var div = document.createElement("DIV");
				div.id = "foo";
				elems[i].parentNode.insertBefore(elems[i], elems[i].nextSibling);
			}
		}
	}
})();
Сообщение от Matre
(function () {
var elems = document.getElementsByTagName("*");
for (var i = 0, j = 0; i < elems.length; i++) {
if (elems[i].id == "name") {
if (++j % 5 === 4) {
var div = document.createElement("DIV");
div.id = "foo";
elems[i].parentNode.insertBefore(elems[i], elems[i].nextSibling);
}
}
}
})();
Не работает
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2011, 21:02
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Идентификатор (id="name") в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз.
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2011, 21:41
Аспирант
Отправить личное сообщение для faforty Посмотреть профиль Найти все сообщения от faforty
 
Регистрация: 15.04.2011
Сообщений: 47

Можете дать пожалуйста пример как это полностью должно работать с js и html, а то я по разному пробовал, и никак!
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2011, 23:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

faforty,
Рабочий вариант ...
<!DOCTYPE html>
<html>
<head>
  <title></title>
<style type="text/css">
.foo{
  background-color: Red;
   height: 25px;
}
</style>
<script type="text/javascript">
window.onload=function () {
	var elems = document.getElementsByTagName("*");
	for (var i = 0, j = 0; i < elems.length; i++) {
		if (elems[i].className == "test") {
			if (++j % 5==0) {
				var div = document.createElement("DIV");
				div.className = "foo";
				elems[i].parentNode.insertBefore(div,elems[i].nextSibling);
			}
		}
	}
};
</script>
</head>
<body>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
<div class="test">бла-бла</div>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 16.04.2011, 06:53
Аспирант
Отправить личное сообщение для faforty Посмотреть профиль Найти все сообщения от faforty
 
Регистрация: 15.04.2011
Сообщений: 47

О спс, все работает!
Ответить с цитированием
  #8 (permalink)  
Старый 16.04.2011, 08:04
Аспирант
Отправить личное сообщение для faforty Посмотреть профиль Найти все сообщения от faforty
 
Регистрация: 15.04.2011
Сообщений: 47

А можно еще вот так реализовать? У меня допустим:
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>

и надо из этого сделать так, чтобы получились такие блоки:
<div class="inner-matrix">
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="clr"></div>
</div>
<div class="inner-matrix">
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="clr"></div>
</div>
Ответить с цитированием
  #9 (permalink)  
Старый 16.04.2011, 10:45
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от faforty
А можно еще вот так реализовать?
можно
Ответить с цитированием
  #10 (permalink)  
Старый 16.04.2011, 10:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

faforty,
А самому попробовать научиться ?
<!DOCTYPE html>
<html>
<head>
  <title></title>
<style type="text/css">
.clr{background:#FFD700;border:SaddleBrown 2px dashed;height:12px;margin:4px;}
.inner-matrix{background:#0F0;border:SaddleBrown 2px dashed;margin:4px;}
.video-box{background:#FFA500;border:SaddleBrown 2px dashed;margin:4px;}
</style>
<script type="text/javascript">
window.onload = function () {
    for (var b = document.getElementsByTagName("*"), a = 0, e = 0; a < b.length; a++) {
        var c = b[a];
        if (c.className == "video-box") {
            e++;
            if (e % 6 == 1) {
                var d = document.createElement("DIV");
                d.className = "inner-matrix";
                b[a].parentNode.insertBefore(d, c)
            }
            d.appendChild(c);
            if (e % 6 == 0) c = document.createElement("DIV"), c.className = "clr", d.appendChild(c)
        }
    }
};
</script>
</head>
<body>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
<div class="video-box">бла-бла</div>
</body>
</html>

Последний раз редактировалось рони, 16.04.2011 в 11:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение стиля для тега используя JS dimiork Элементы интерфейса 2 13.12.2010 10:47
Checkbox, атрибут тега и кукис Pavov Общие вопросы Javascript 4 09.12.2010 16:52
Присвоение значения атрибутам тега <SCRIPT> bezna Internet Explorer 3 25.10.2010 16:30
Значение тега Input Zilog jQuery 4 12.07.2010 06:12
Возможно, немного не в тему. Вид тега Select parzh-junior Элементы интерфейса 8 30.04.2010 00:39