<span id="tcount-1">100</span>
<span id="tcount-2">100</span>
<span id="tcount-3">100</span>
我想要做的是获取span id = tcount-X(其中X可以是任何ID值)中的值,然后从中减去1。
所以我知道我可以轻松隐藏价值......
$('span#tcount-' + com_id).hide();
但是一旦我做了类似......
var countit = $('span#tcount-' + com_id).val();
......它打破了。我有什么想法吗?
答案 0 :(得分:4)
var s = $('span#tcount-' + com_id);
s.html(s.text()*1 - 1);
关于使用*1
代替parseInt
,请查看以下问题:
Table comparing various methods of string-to-number conversion http://phrogz.net/JS/string_to_number.png
这里的绩效影响:
http://jsperf.com/convert-string-to-number-techniques
(你实际上并不需要*1
,因为你正在减去,但我已经把它包含在假设中,在某些时候你可能想要加1,此时你'除非先将字符串转换为数字,否则会遇到字符串连接问题。)
答案 1 :(得分:3)
.val()
用于设置表单字段。你想要的是.text()
,它将检索跨度的内容,而不是它的“值”(跨度在任何情况下都不能有值)。请注意,这将以字符串形式检索内容,因此您需要使用parseInt()以及诸如此类的数学内容。