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

时间:2014-08-25 07:43:08

标签: javascript jquery html


我有一个像这样的html div。

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

这里有div的data-numbers属性,有用空格分隔的随机数。
现在我想在data-number上找到一个值,或者不使用jQuery
例如1应该返回true,因为2不应该是数据,因此2应该返回true,而4应该返回false。

请帮助我找到解决方案。

PS。我想避免循环。
提前致谢。

3 个答案:

答案 0 :(得分:1)

这对你有用

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

答案 1 :(得分:0)

这样的东西?

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/

答案 2 :(得分:-1)

编辑 - 这应该这样做 -

$(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');
}
})

})