从 .each 返回的“undefined”在 T 上运行,并选择了 ID
'undefined' returned from .each ran on tr with id selection
>问题
我正在尝试运行具有特定格式 id 的表中的每一行。选择了正确的行数,但每当我尝试从 obj 获取属性时,我都会遇到"未定义"的问题。
<tr class="" data-uid="45" id="fixed_user_45">...
还有JavaScript...
$('tr[id^="fixed_user_"] ').each(function(obj, i) {
var id = $(obj).id; // returns 'undefined'
console.log(id); //prints 'undefined' the correct number of times
});
无论我尝试选择什么属性以及如何去做,都会发生这种情况 - 即innerText,innerHTML,.attr('data-uid')。所有这些都是未定义的。
其他细节:
为了完整起见...我将循环浏览每个 td,因此在上面的每个函数中嵌套了以下内容。
$('td').each(function (obj, i) {
谢谢大家的帮助。
在javascript片段中,参数顺序错误
.each(function(obj, i) {
正确的顺序是
.each(function(i, obj) {
然后你必须调用jQuery .attr()
函数来获取id。
$(obj).attr('id')
但是,您可以不获取任何参数(如果您不需要索引)并将this
用作当前对象。
$(this).attr('id');
要看到它的工作,请转到此jsfiddle https://jsfiddle.net/zv6guhzn/1/如果你想循环浏览嵌套的td,我建议使用比一般选择器$()
更快的.find()
,因为它从选定的开始搜索嵌套元素。
$(obj).find('td').each(itd, objtd){
console.log( $(objtd).text() );
}
嵌套循环的完整示例 https://jsfiddle.net/zv6guhzn/2/
来源 https://api.jquery.com/each/#example-2
obj
是索引,i
是你的案例的元素。要获得data-uid
请使用如下所示data()
函数。
$('tr[id^="fixed_user_"] ').each(function (obj, i) {
var id = $(i).data('uid');
console.log(id);
});
每个方法:
$(array/object).each(function(index,object){});
法典:
$('tr[id^="fixed_user_"] ').each(function(i, obj) {
var id = obj.id; // returns 'undefined'
console.log(id); //prints 'undefined' the correct number of times
});
注意JQuery each
方法:
.each( 函数 )
功能类型:函数(整数索引,元素元素)一个函数 为每个匹配的元素执行。
$('tr[id^="fixed_user_"]').each(function(index, obj) {
var id = $(obj).data('uid);
});
可以使用以下代码获取所需的结果。
$('tr[id^="fixed_user_"] ').each(function() {
console.log($(this).attr('id')); //return each id
console.log($(this).attr('data-uid'));// returns 'data-uid'
console.log($(this).data('uid'));// also returns 'data-uid'
});
相关文章:
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- javascript动态内容与选择长运行脚本
- Dojo 1.7 伪选择器运行不佳
- 根据其他onchange函数来选择在onchange中运行哪个函数
- 嗨,我正试图将我的movieprice数组从复选框值传递给另一个计算选择总数的函数,但我的代码没有;t运行
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法
- 根据正在运行的函数,在onchange()事件中选择函数
- 70%的时间运行JavaScript函数,从函数数组中随机选择
- 如何在document.getElementsByClassName中对类的特定选择器运行函数
- HTML中的onclick事件<选择>无法运行Chrome和Safari
- jQuery 选择器未按预期运行
- JQuery 选择器运行时间
- 在双击/选择单词时在 chrome 扩展程序中运行函数
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery
- 如何运行函数以选择动态添加
- 如果选中单选框或选择菜单更改,则运行自定义js函数
- D3.js键功能在简单的选择器/数组组合上运行两次
- 如何在 JavaScript 中运行随机选择的函数
- 点击运行选择
- 在light DOM树上运行选择器并访问它