Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Порядковый номер (https://javascript.ru/forum/dom-window/63774-poryadkovyjj-nomer.html)

joker95 28.06.2016 15:26

Порядковый номер
 
Добрый день! Я новичок в js. помогите мне пожалуйста. есть код
var i = 1;
 while(i <= number) {$('.photo_numb').text(i); i++;}


в переменной number находится определенное число (кол-во div с классом photo_numb). на сайте n кол-во div с классом photo_numb хочу чтобы в каждый div скрипт вставлял порядковый номер например:

<div class="photo_numb">1</div>
<div class="photo_numb">2</div>
<div class="photo_numb">3</div>

и т.д.

помогите пожалуйста

Viral 28.06.2016 15:39

раз уж используете jQuery, то можно сделать так:
$('.photo_numb').each(function(){
	$(this).html($('.photo_numb').index(this));
});

joker95 28.06.2016 15:49

Мне желательно чтобы с числа 1 начинался отсчет

joker95 28.06.2016 15:52

Viral, немоглибы вы подсказать что неправильно делаю для достижения цели именно в моем варианте? т.е. исправить

рони 28.06.2016 16:19

Цитата:

Сообщение от joker95
Мне желательно чтобы с числа 1 начинался отсчет

доплюсуйте единицу к индексу
$(this).html($('.photo_numb').index(this)+1);


Цитата:

Сообщение от joker95
неправильно делаю для достижения цели именно в моем варианте?

нет выборки конкретного элемента.
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>
 $(function(){

var $foto = $('.photo_numb'), number = $foto.length, i = 0;
while(i < number) {$foto.eq(i).text(++i)}

   })
  </script>
</head>

<body>

<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>


</body>
</html>

Rasy 28.06.2016 16:25

<body>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<script>
var
  a = document.querySelectorAll('.photo_numb'),
  i = 0,
  j = 0;  

  while (i < a.length) {
  	j+=1;    
    a[i].innerText = j;
    
    i++;
  }
</script>

</body>

Rasy 28.06.2016 16:31

рони,
Ваш код лаконичен, только удивляет, почему еще не оформляете его в минифицированном виде)

рони 28.06.2016 17:03

Цитата:

Сообщение от Rasy
только удивляет

и вам не хворать, взглянул на код ещё раз благодаря вам и исправил ошибку, к минификации она правда отношения не имеет, да и jquery умеет справлятся с такими ошибками, но лучше без неё. :lol:

Rasy 28.06.2016 18:19

Цитата:

Сообщение от рони
исправил ошибку

<= number? На ваниле тоже код выполняется, хоть и с ошибкой.

<body>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<div class="photo_numb"></div>
<script>
var
  a = document.querySelectorAll('.photo_numb'),
  i = 0; 

  while (i <= a.length) {  
    a[i].innerText = ++i; 
  }
</script>

</body>


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