Эй, ребята, проблема в следующем: на веб-сайте, над которым я сейчас работаю, есть множество ящиков, в каждом из которых есть небольшая область в углу, которая должна подсчитывать пользователей, когда веб-сайт запускается. Таким образом, просто для теста я использовал идентификатор с идентификатором в разметке для размещения числа:

<span id="usercount">612</span>

Со следующими строками простого jQuery:

var users = $('#usercount').text().length;

if (users >= 4) {
    $('#usercount').css('font-size','12px');
    $('#usercount').css('margin-left','7px');
}

Как видите, если число состоит из 4 или более символов, оно становится меньше и правильно выравнивается внутри этой области. Но поскольку на сайте должно быть много ящиков, я изменил id = "usercount" на class = "usercount", и он больше не работает. Я понимаю, что должен быть какой-то цикл для получения одного и того же фрагмента данных из каждого элемента с классом «usercount», но я не могу понять, как это грамотно записать с правильным синтаксисом. Я понимаю, что это простая операция, но я новичок в JS и буду признателен за вашу помощь. Большое спасибо!

2
Balabeque 18 Авг 2014 в 16:14
2
Проверьте функцию .each сортировки jquery
 – 
mTorres
18 Авг 2014 в 16:16
Хм. Вы ищете число внутри usercount или длину текста?
 – 
CodingIntrigue
18 Авг 2014 в 16:16
Собственно, длина текста внутри этого промежутка.
 – 
Balabeque
18 Авг 2014 в 16:17

1 ответ

Лучший ответ

Вы можете использовать метод filter:

$('.usercount').filter(function() {
   return $(this).text().length >= 4;
}).css({
    'font-size': '12px', 
    'margin-left': '7px'
});
6
undefined 18 Авг 2014 в 16:25