Присвоение значение элементам с одинаковым классом
Здравствуйте, подскажите пожалуйста, как можно сделать присвоение элементу класса разные значения.
Например есть тэг span с одинаковым классом test нужно по парно выводить данные. for(var i=0;i<test.length;i++) // считаем количество элементов с одинаковым классом { objr=test[i]; // присваиваем переменной каждый элемент objr.innerHTML = 1; //выводим в каждый span единицу теперь нужно добавить условие, чтобы первым 2-ум элементам вывел "1", второй паре +1 и т.д. каждым последующим 2-м элементам прибавлялась единица. Итог должен быть таким: <span class="test">1</span><span class="test">1</span><br> <span class="test">2</span><span class="test">2</span><br> <span class="test">3</span><span class="test">3</span> и т.д. пытался добавить условие, если элемент 1 и 2-ой, то выводим 1, если элемент 3-ий и 4-ый то +1, и т.д., но код не работает. |
var f = function(n) { var i = 0, j = 0; for (; i < n; i++) { i%2 ? j : j++; console.log(j); } }; f(10); // вывод //1 //1 //2 //2 .. //5 //5 |
пробовал ваше предложение, проверил как работает
var f = function(n) { var i = 0, j = 0; for (; i < n; i++) { i%2 ? j : j++; console.log(j); } }; alert(f(10)); при выводе пишет undefinet А вообще можете на моем примере сделать? function postwarid() { var test = document.getElementsByClassName("test"); // тег span с одинаковым классом var number = document.getElementsByName("number")[0]; // input для ввода числа for(var n=0;n<test.length;n++){ //считаем количество элементов span с одинаковым классом objr=test[n]; objr.innerHTML = number.value; // выводим в каждый span значение инпута } } в моем варианте каждому тегу span с классом test добавляется значение введеный в input. Одинаковых классов каждый раз бывает разным, т.к. страница генерируется динамически. теперь сюда надо добавить условие. |
Цитата:
<!DOCTYPE html> <html> <head> <style type="text/css"> </style> <script type="text/javascript"> function go() { var os=document.getElementsByTagName('span'); var inc=1,typ=0,i; for (i=0; i<os.length; i++) { if (os[i].className!='test') { continue }; os[i].innerHTML=inc; if (typ++==1) { inc++; typ=0; }; }; }; </script> </head> <body> <span class="test">...</span><span class="test">...</span><br> <span class="test">...</span><span class="test">...</span><br> <span class="test">...</span><span class="test">...</span><br> <button onclick='go()'>Go</button> </body> </html> |
Цитата:
Получилось сделать! Все работает! |
<span class="test"></span><span class="test"></span><br> <span class="test"></span><span class="test"></span><br> <span class="test"></span><span class="test"></span><br> <span class="test"></span> <script> window.onload = function () { var spans = document.getElementsByClassName('test'); var len = spans.length; var n = 1; for (var i = 0; i < len; i = i + 2) { spans[i].innerHTML = n; if (spans[i + 1]) { spans[i + 1].innerHTML = n; n++; } } } </script> |
Mesher,
а вы чего в alert'e получить ожидали??? функция ничего не возвращает, а служит только оберткой, чтобы можно было динамически задавать ограничение для цикла. |
Часовой пояс GMT +3, время: 07:48. |