如何对字符串执行减法
除了将非法属性插入标签并使我的 HTML 无效之外,我以前从未做过我想做的事情,并且很可能会在我工作的其他领域从这个答案中受益。
我认为问题是我试图从字符串“$(this).attr('num')”中减去“1”
如果我首先将“$(this).attr('num')”转换为一个整数,然后从中减去“1”。
我对任何其他解决方案持开放态度。谢谢
//
$("#jumpPreviousButton").click(function(){
var imageNumber = $(this).attr('num');
$("#bgImageBox").css({
"background-image": "url(/galleryImages/worksImage"
+ imageNumber - 1
+".jpg)"
}).attr('num', imageNumber - 1);
return false;}
);
//
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
正如你所说,首先将其转换为整数会有所帮助。为此,请使用 parseInt() 函数。 :) (如果是浮点数,则使用
parseFloat()
。)As you say, converting it to integer first will help. Use the
parseInt()
function for that. :) (OrparseFloat()
if it is a floating point number.)使用 parseInt 但不要使用没有 radix
parseInt() 函数解析一个字符串并返回一个整数。
签名是
parseInt(string, radix)
所以你的问题的答案是:
第二个参数强制 parseInt 使用以十为基数的计数系统。
为什么? 如果 $(this).attr('num') 为“08”,没有基数的 parsInt 将变为 0
use parseInt but don't use parseInt without a radix
The parseInt() function parses a string and returns an integer.
The signature is
parseInt(string, radix)
so the answer to your question is:
The second argument forces parseInt to use a base ten numbering system.
why? if $(this).attr('num') would be "08" parsInt without a radix would become 0
为什么不使用 jquery 的
data()
函数而不是attr ()
将 num 字段添加到您的标记中。parseInt
例如:
HTML:
JS:
这将警告
52
,然后警告53
。您可以在此处查看演示。Why dont you use jquery's
data()
function instead ofattr()
to add the num field to your tag.parseInt
For example:
HTML:
JS:
This will alert
52
and then53
. You can see a demo here.如果数字是整数。
if the number is an integer.
parseInt() 函数是你的朋友;)
parseInt() function is your friend ;)