Javascript object.id 元素数组中返回“undefined”
Javascript object.id returning "undefined" in array of elements
我正在尝试获取由类名抓取的任何元素数组的 id。我已经尝试了几种不同的方法,我认为所有这些方法都应该有效,但每种方法都返回"未定义"。
HTML 示例:
<img id='1207_image-button' class='review-button' src="..." />
JavaScript:
var buttons = document.getElementsByClassName("review-button");
var button;
for (button in buttons) { alert(button.id); }
我也试过这是 for 循环:
alert($(this).attr('id'));
每种方式都返回"未定义",我不确定如何提醒实际 id。如果我把它放在循环中:
alert(button);
它将循环并输出 0 到 5(元素数量),然后输出 ids,所以我知道然后在数组中,我只是不知道如何到达它。
for...in
循环用于迭代对象。不是NodeList
,它甚至不是一个数组。使用一个好的旧for
循环。
for(var i = 0; i < buttons.length; i++)
alert(buttons[i].id);
通过使用for ... in
,您错误地循环访问按钮集合。 试试这个,改为:
var buttons = document.getElementsByClassName("review-button");
for (var i = 0, n = buttons.length; i < n; ++i) {
var id = buttons[i].id;
...
}
或者,在jQuery中
$('.review-button').each(function() {
var id = this.id;
...
});
考虑到你正在使用jquery,请使用这个;
$( ".review-button" ).each(function() {
alert($( this ).attr("id"));
});
错误的部分是循环。你必须做:
for (button in buttons) { alert(buttons[button].id); }
在这种循环中,您分配数组的索引,而不是每个循环中的对象。
相关文章:
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- JavaScript”;.方法“;返回undefined
- jQuery可以't获取data-*属性值,返回undefined
- Javascript/JSON警报返回Undefined
- Javascript:firstChild对象返回undefined
- 当尝试使用ajax读取文件时,变量返回undefined
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- Json在nodeJs和AngularJs中返回undefined
- 为什么像 Firefox 和 Chrome 控制台中的 '}{' 这样的结构会返回 'undefined'?
- 使用 HTML 和 JavaScript 从表单访问值时返回 undefined
- 在 CoffeeScript 中,当尝试调用类中的方法 (@_methodName) 时,它会返回 undefined
- 解析承诺'当'返回undefined(Javascript)
- NodeJS:zlib.gunzip(body)错误地返回“undefined”
- window.open在chrome扩展中返回undefined
- jQuery.pr()返回undefined,而.attr()对数据-*的作用与预期一样
- 正在读取嵌套json,jquery返回undefined
- IIFE是否总是返回undefined
- $timeout包装$http.post返回undefined而不是promise