选择元素的id

时间:2011-11-01 11:14:29

标签: jquery jquery-selectors

我一直试图弄明白这两天,但没有任何意义。 我使用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的元素,它将返回一个空数组,因此它甚至不存在。我在这里做错了什么?

2 个答案:

答案 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作为函数的第二个参数传递)。