简体   繁体   English

jQuery如何知道数据属性上是否存在值?

[英]Jquery how to know if value exists on data attribute or not?


I have a html div like this. 我有一个这样的html div。

<div id="myDiv" data-numbers="1 4 5 3 9 88 57 "></div>

Here on data-numbers attribute of div there are random numbers separated with white space. 在div的data-numbers属性上,存在用空格分隔的随机数。
Now i want to find a value exists on data-number or not using jQuery . 现在我想找到一个存在于data-number上的值或不使用jQuery
For example 1 should return true, 例如1应该返回true,
2 should false because 2 is not in data-numbers, 2应该为false,因为2不在数据编号中,
4 should return true and 7 should return false. 4应该返回true,而7应该返回false。

Please help me on finding its solution. 请帮助我找到解决方案。

PS. PS。 I want to avoid loops. 我想避免循环。
Thanks in advance. 提前致谢。

This will work for you 这对你有用

var numbers = $('#myDiv').data('numbers').split(' ');

function contains(number){
    return numbers.indexOf(number.toString()) > -1;
}

alert(contains(1));  //true
alert(contains(2));  //false
alert(contains(7));  //false
alert(contains(57)); //true

DEMO 演示

Something like this? 像这样吗

function checkIfNumberExists($el, number){
    var numbers = $el.data('numbers').split(' ');
    return !!~ numbers.indexOf(number.toString());
}

console.log(checkIfNumberExists($('#myDiv'), 1)); // true
console.log(checkIfNumberExists($('#myDiv'), 2)); // false

http://jsfiddle.net/re5434ck/ http://jsfiddle.net/re5434ck/

EDIT- This should do it- 编辑-这应该做到-

$(document).ready(function(){

var all=$("#myDiv").attr('data-numbers');
console.dir(all);
var mm= all.toString();

var kk= mm.split(' ');

$.each(kk,function(key, val){
if(val == '2'){
console.log('2 is found');
}
})

})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM