2014-02-10 4 views
1

Я хочу добавить число к определенному объекту jQuery, подобному этому.Как добавить номер к самому объекту jQuery

$('#count').text(Number($('#count').text()) + 1); 

Это работает, но это немного излишним писать такой же селектор и text() метод дважды. Есть ли лучший способ сделать это с помощью jQuery, например $('#count').text(Number(this) + 1);?

+0

как насчет $ ('# count'). Text (Number ($ (this)) + 1); –

+0

есть - не используйте документ в качестве основного хранилища данных. –

+0

@ C-link Это не работает. – ironsand

ответ

5

Да, с обратным вызовом аргументом $.fn.text:

$('#count').text(function(i, oldText) { 
    return +oldText + 1; 
}); 

В рамках обратного вызова, oldText устанавливается к существующему значению. Мы используем унарный оператор плюс +, чтобы преобразовать его в число (это лучше, чем использование Number()). Возвращаемое значение обратного вызова устанавливается как новое текстовое значение элемента.

Смежные вопросы