gpt4 book ai didi

javascript - jQueryeach() 和 if 语句仅适用于第一个元素

转载 作者:行者123 更新时间:2023-12-01 02:20:21 25 4
gpt4 key购买 nike

我有一段简单的 jQuery 代码

$(document).ready( function () {
$('#line_items_table tr').each( function () {
var self = $(this);
console.log(parseInt(self.attr('data-id')));
if ( !$.inArray( parseInt(self.attr('data-id')), errors )) {
console.log("inside conditional");
self.addClass('incorrect_item');
}
});
});

使用errors = [19,20,21],我得到这个输出

3417
3419
"inside conditional"
3420
3421
3422
3423
3424
3425

并且errors = [20,21],此输出:

3417
3419
3420
"inside conditional"
3421
3422
3423
3424
3425

为什么这只适用于第一个元素?

最佳答案

使用$.inArray时,始终检查-1,而不仅仅是 true 或 false

if ( $.inArray( parseInt(self.data('id'), 10), errors ) == -1 ) {

原因是 $.inArray 返回找到值的索引,而对于第一项,索引为 0,这是假的,这就是原因它仅适用于第一个。

关于javascript - jQueryeach() 和 if 语句仅适用于第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23132829/

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