Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выбор числа из многих одинаковых классов (https://javascript.ru/forum/jquery/72161-vybor-chisla-iz-mnogikh-odinakovykh-klassov.html)

pava467 12.01.2018 16:45

Выбор числа из многих одинаковых классов
 
Есть код который выводит цену, 10 товаров и у каждого своя цена, например

<span class="cena">5</span>
<span class="cena">6</span>
<span class="cena">7</span>


var sum = $('.cena').text();


но на выходе получается 567
то есть выбрало все цифры которы с класом .cena

А можно ли как то выбрать по отдельности эти цифры(цены) не давая им разные класы?
так как потом хочу каждую цену отдельно умножить на 20

Dilettante_Pro 12.01.2018 17:22

Например, произвольный доступ к ценам
<span class="cena">5</span>
<span class="cena">6</span>
<span class="cena">7</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
var price = $('.cena').eq(1).text();
alert(price);
</script>

рони 12.01.2018 17:23

pava467,

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
$('.cena').text(function(index, num) {
   return num * 20
});
});
  </script>
</head>

<body>

<span class="cena">5</span>


<span class="cena">6</span>


<span class="cena">7</span>


</body>
</html>

Dilettante_Pro 12.01.2018 17:28

Или массив для всех цен
<span class="cena">5</span>
<span class="cena">6</span>
<span class="cena">7</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
var prices = [];  // переменная, которая будет хранить цены элементов
 
$(".cena").each(function(indx, element){
  prices.push($(element).text());
});

alert(prices);
</script>


Вариант по методу рони
<span class="cena">5</span>
<span class="cena">6</span>
<span class="cena">7</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
var prices = [];  // переменная, которая будет хранить цены элементов
 
$(".cena").text(function(indx, num){
  prices.push(num);
});

alert(prices);
</script>

рони 12.01.2018 17:41

:)
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
var prices = $.map($('.cena'),function(span) {
   return span.textContent
});
alert(JSON.stringify(prices));
});
  </script>
</head>

<body>

<span class="cena">5</span>


<span class="cena">6</span>


<span class="cena">7</span>


</body>
</html>


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