选择元素的 id

发布于 2024-12-12 22:30:25 字数 477 浏览 0 评论 0原文

我已经尝试解决这个问题两天了,但没有任何意义。 我使用 jquery 从页面中选择第一个元素并使用以下方式获取它的 id:

$('#main li.twitter').eq(0);

控制台日志输出:

[li class="twitter事件左" id="131325521001848832" style="display: list-item;"> …李]

但是:

var id = parseInt($('#main li.twitter').eq(0).attr('id'));

输出

131325521001848830

不是我所期望的!如果我尝试选择具有该 id 的元素,它会返回一个空数组,因此它甚至不存在。我在这里做错了什么?

I have been trying to figure this out for 2 days and could not make any sense.
I use jquery to select the first element from the page and get it's id using:

$('#main li.twitter').eq(0);

The console log outputs:

[li class=​"twitter event left" id=​"131325521001848832" style=​"display:​ list-item;​ ">​…​ li]

However:

var id = parseInt($('#main li.twitter').eq(0).attr('id'));

Outputs

131325521001848830

Not what I would expect! And if I try to select the element with that id it return an empty array so it doesn't even exist.What am i doing wrong here ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

再见回来 2024-12-19 22:30:26

数字 ID 在 HTML5 中有效,并且您可以在以前的版本中使用它。然而,这个数字太大了,无法用 JS 使用的浮点表示法来准确表示。

在控制台中输入数字

131325521001848832

输出:

131325521001848830

所以你最好将它保留为字符串。

Numeric ids are valid in HTML5 and you can get away with it in previous versions. However, the number is so large it cannot be accurately represented in the floating point representation JS uses.

Typing the number into the console

131325521001848832

outputs:

131325521001848830

So you are better off keeping it as a string.

睫毛溺水了 2024-12-19 22:30:26

eq 方法构造一个仅包含位置 处的元素的 jQuery 对象i 在当前 jQuery 集中。因此,您看到的控制台输出是 jQuery 对象(包含 DOM 元素)的表示。

id 是一个字符串值,而不是整数;因此,如果您想稍后再次检索它,请不要 parseInt 它。

var id = $('#main li.twitter').eq(0).attr('id');

// $('#' + id);

此外,为了将来参考,在使用 parseInt 时应始终指定基数(将 10 作为函数的第二个参数传递给函数)。

The eq method constructs a jQuery object containing just the element at position i in the currently jQuery set. Therefore the console output you're seeing is the representation of the jQuery object (containing the DOM element).

An id is a string value, not an integer; so don't parseInt it if you want to retrieve it again at a later date.

var id = $('#main li.twitter').eq(0).attr('id');

// $('#' + id);

Furthermore, for future reference, you should always specify a radix when using parseInt (pass 10 as the second parameter to the function).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文