gpt4 book ai didi

javascript - Jquery each() 类,只获取该循环中的元素

转载 作者:行者123 更新时间:2023-11-30 05:38:18 24 4
gpt4 key购买 nike

我正在尝试使用 each() 函数,每次类出现在表中时,它都会获取该部分中的信息。

它正在执行 x3 循环,但我要求的信息仅来自第一个实例。

<td class="approved_player"> 
<span first_role="1" role="Damage" class="icon_damage"></span>
<a class="class_monk">Sickli</a>
</td>

读取信息后,它会更新 json 数组 1 是否损坏。

var classes = {
classes: [{
"mage": 0
}, {
"warlock": 0
}, {
"rogue": 0
}, {
"paladin": 0
}, {
"deathknight": 0,
"deathknight damage": 0
}, {
"monk": 0,
"monk damage": 0
}, {
"priest": 0,
"priest damage": 0
}, {
"druid": 0,
"druid damage": 0
}, {
"shaman": 0,
"shaman damage": 0
}]
};

$("td.approved_player").each(function (i, obj) {
var player = $("a[class^='accountLink class_']").attr('class').split('_')[1];
var role = $("span[first_role='1']").attr('role').toLowerCase();

$.each(classes, function (key, data) {
$.each(data, function (index, data) {
if (player == data) {
if (role == 'damage') {
data[1] = 1;
} else {
data[0] = 1;
}
}
});
});

$("div#output").append(i + ' appoved class ' + player + ' role ' + role + '<br/>');

});


$.each(classes, function (key, data) {
$.each(data, function (index, data) {
console.log('index', data);
});
});

我正在处理这个问题:http://jsfiddle.net/EXwsy/1/

感谢您的帮助。

最佳答案

我发现了一个错误

在这里您将数据对象与播放器的字符串进行比较

 if (player == data) 

我将其更改为:

if (Object.keys(data)[0] == player)

在这种情况下,您将比较“僧侣”和您对象的第一个属性是法师。

这也将检索 3 个元素

  $("td.approved_player")

但是在你的每个循环中你得到一个这样的元素但是它会检索 3 个元素

$("a[class^='accountLink class_']")

这还将检索 3 个元素,您始终在第一个元素上工作。

使用它您将检索当前元素。

$(this).children("a").attr('class').split('_')[1]

Here我认为工作 fiddle 很好。

请记住,jQuery 可以从所需的选择器中检索多个 DOM 对象。

关于javascript - Jquery each() 类,只获取该循环中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com