Как добавить инкремент (1) к значению элемента с JQuery

Я не знаю о способе сделать это, однако можно быть в состоянии выполнить то, что Вы пытаетесь сделать использование:

somecommand | while read -r; do echo "Something with $REPLY"; done

Это также будет быстрее, поскольку Вы не будете создавать новый процесс для каждой строки текста.

[РЕДАКТИРУЮТ 09.07.2009] , я внес два изменения:

  1. предложение Объединенного litb использования -r для отключения обработки обратной косой черты - это означает, что через обратные косые черты во входе пройдут неизменные.
  2. Вместо того, чтобы предоставить имя переменной (такой как X) в качестве параметра к read, мы позволяем read, присваивают его переменной по умолчанию, REPLY. Это имеет приятный побочный эффект сохранения продвижения и конечных пробелов, которые разделяются иначе (даже при том, что внутренние пробелы сохраняются).

От моих наблюдений, вместе эти изменения сохраняют все кроме литеральных символов NUL (ASCII 0) на каждой входной строке.

[РЕДАКТИРУЮТ 26.07.2016]

По словам комментатора Evi1M4chine, установка $IFS к пустой строке прежде, чем работать read X (например, с командой IFS='' read X) должна также сохранить пробелы вначале и конец при хранении результата в $X, означать, что Вы не вынуждены использовать $REPLY.

6
задан Steven 6 November 2009 в 14:24
поделиться

2 ответа

Вам понадобится parseInt для обработки строк как чисел.

$("#shortfall").text(parseInt($("#shortfall").text()) + 1);
10
ответ дан 8 December 2019 в 18:37
поделиться

К тому времени, когда оно попадет в браузер, ваше выражение будет вычислено и преобразовано в число. Чтобы использовать jQuery, вам нужно просто получить текстовое значение диапазона, преобразовать его в число, а затем заменить текстовое значение. Вам нужно будет преобразовать значение в число перед выполнением сложения, иначе будет выполнено конкатенация строк.

$("#shortfall").each( function() {
    $(this).text( Number($(this).text()) + 1 );
});

Обновлено : я использую каждый, чтобы показать, как вы это сделаете, используя общий селектор, который может принимать коллекцию входов. В вашем случае, если вы знаете, что он соответствует ровно одному элементу, вы можете оптимизировать его, рискуя переписать его, если вы хотите, чтобы код применялся к нескольким элементам.

var span = $("#shortfall");
span.text( Number( span.text() ) + 1 );

Обновлено : необходимо использовать text () (или html ()), поскольку элемент является SPAN, а не входом.

2
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: