Javascript 将值与div数据jquery进行比较
我想用数据id过滤数据循环,并将其与数字进行比较。 因此,我检查div中的日期id,如果与显示消息匹配,则将该值与my进行比较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。在循环之前,您还提取了数
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访问器只对列表的第一项起作用。这是真的。然而,这是一个奇怪的要求。当然,您只需要知道一次元素是否存在。