2011-10-08 37 views
16

Tôi có một số trong thẻ span. Tôi cần phải nhận được giá trị của số trong span và sau đó tăng nó bên trong jQuery. Tôi biết làm thế nào để làm điều này cho một đầu vào văn bản - điều này có thể được thực hiện để một thẻ span?Giá trị gia tăng jQuery của <span> thẻ

thẻ SPAN

<span class="changeNumber"> 33 </span> 

khoảng jQuery selector

var commentNumAppend = $(this).closest(".songContainer").find(".changeNumber"); 

Trả lời

29

Ví dụ -

<span class="changeNumber">33</span> 

$('.changeNumber').html(parseInt($('.changeNumber').html(), 10)+1) 
+1

Đây là cách tiếp cận AFAIK tốt nhất. Nhưng cảm thấy như viết 'biến: = biến + 1' 30 năm trước, thay vì' biến ++ ' – mirelon

+2

Có cách nào tốt hơn để làm điều này, nơi bạn không phải thực hiện công cụ chọn hai lần? (Với một lớp lót) – Jess

+0

+1 câu trả lời này ... trong adition. Nếu bạn muốn tăng các phần tử 1-n, bạn nên sử dụng từng() .... \t \t \t $ ('. Customcounter').mỗi (function() { \t \t \t \t $ (này) .html (parseInt ($ (this) .html(), 10) +1); \t \t \t}); – Apeiron

0

tôi giả sử bạn có nghĩa là một cái gì đó như thế này?

<span id="Nbr">123</span> 

Nếu vậy, thuộc tính innerHTML sẽ cung cấp cho bạn nội dung của nhịp

0
$(".changeNumber").html(parseInt($(".changeNumber").html())+1) 
6

Đây là hoàn thiện nhất câu trả lời.

  1. Giải pháp này avoids selector repetition
  2. Xử lý thặng dư một cách duyên dáng nếu khoảng không có một giá trị được nêu ra.
<span class="changeNumber"></span> 
var $number = $('.changeNumber'); 
$number.html((parseInt($number.html(),10) || 0) + 1); 
Các vấn đề liên quan