jquery选择器无法选择id中含有“.”的元素

我使用Math.random() * 1e9作为某类元素的唯一id,所以这些元素的id一般长这样:

1
2
id="toast196052045.92534143"

jquery选择器将无法正确识别这样的id,我猜测可能因为中间的小数点会被误认为类的标识。

而且更致命的是,控制台不会报错!

1
2
var id = Math.floor(Math.random() * 1e9);

Math.floor()可以很好解决这一问题。另外,parseInt()函数虽然同样可以解决问题,但是它是为了转换string来设计的,为了代码的规范性还是少用来操作纯数字。毕竟谁都不想让自己的程序变成下面这样子: