Javascript 将值与div数据jquery进行比较

Javascript 将值与div数据jquery进行比较,javascript,jquery,Javascript,Jquery,我想用数据id过滤数据循环,并将其与数字进行比较。 因此,我检查div中的日期id,如果与显示消息匹配,则将该值与my进行比较 varids=$('.div').data('id'); forEach(函数(id){ 如果(id='45'){ 警报(“isset 45”); }否则{ 警报(“div中的值不是45”); } }); 12 33 44 45 54 11在$(“选择器”)中有一个可用的每个方法。选择器将选择所有div,然后您可以逐个遍历它们并检查数据id。在循环之前,您还提取了数

我想用数据id过滤数据循环,并将其与数字进行比较。 因此,我检查div中的日期id,如果与显示消息匹配,则将该值与my进行比较

varids=$('.div').data('id');
forEach(函数(id){
如果(id='45'){
警报(“isset 45”);
}否则{
警报(“div中的值不是45”);
}
});

12
33
44
45
54

11
$(“选择器”)
中有一个可用的每个方法。选择器将选择所有div,然后您可以逐个遍历它们并检查
数据id
。在循环之前,您还提取了
数据id
。您必须在循环中检索它

$('.div')。每个(函数(){
id=$(this.data('id'))
如果(id='45'){
警报(“isset 45”);
}否则{
警报(“div中的值不是45”);
}
});

12
33
44
45
54

11
问题是因为
ids
是一个字符串,包含
*first*
.div`元素中的
数据id
值。要解决眼前的问题,您需要使用数组创建一个值数组:

varids=$('.div').map(函数(){
返回$(this.data('id');
}).get();
forEach(函数(id){
如果(id='45'){
控制台日志('ISSET45');
}否则{
console.log('notvalue 45 in div');
}
});

12
33
44
45
54
11
data()
只返回列表第一项的值

你不需要迭代,只要检查一下就可以了

var divWith45Exists = $('.div[data-id="45"]').length > 0;
演示

var divWith45Exists=$('.div[data id=“45”]”)。长度>0;
是否存在分歧?警报(“是”):警报(“否”)

12
33
44
45
54

11
这可能是一种可能的解决方案:

jQuery(文档).ready(函数(){
//循环遍历每个div
$('.div')。每个(函数(){
//当前元素
var el=$(本);
//价值观
var dataId=el.attr('data-id');
如果(数据ID='45'){
控制台日志('ISSET45');
}否则{
console.log('notvalue 45 in div');
}
});
});

12
33
44
45
54

11
jQuery访问器只对列表的第一项起作用。这是真的。然而,这是一个奇怪的要求。当然,您只需要知道一次元素是否存在。