我一直试图弄明白这两天,但没有任何意义。 我使用jquery从页面中选择第一个元素,并使用:
获取它的id$('#main li.twitter').eq(0);
控制台日志输出:
[li class =“twitter event left”id =“131325521001848832”style =“display:list-item;”> ... li]
然而:
var id = parseInt($('#main li.twitter').eq(0).attr('id'));
输出
131325521001848830
不是我所期待的!如果我尝试选择具有该id的元素,它将返回一个空数组,因此它甚至不存在。我在这里做错了什么?
答案 0 :(得分:3)
数字ID在HTML5中有效,您可以在以前的版本中使用它。但是,数字太大,无法在JS使用的浮点表示中准确表示。
在控制台中输入数字
131325521001848832
输出:
131325521001848830
因此,最好将其保留为字符串。
答案 1 :(得分:1)
eq
方法构造一个jQuery对象,该对象仅包含当前jQuery集中位置i
的元素。因此,您看到的控制台输出是jQuery对象(包含DOM元素)的表示。
id
是字符串值,不是整数;所以如果你想在以后再次检索它,请不要parseInt
。
var id = $('#main li.twitter').eq(0).attr('id');
// $('#' + id);
此外,为了将来参考,您应该始终在使用parseInt
时指定基数(将10
作为函数的第二个参数传递)。