2013-08-05 38 views
-3

这是另一个noob问题。将var值= [2,3,4]更改为类似[所有整数]

再次使用YUI3。

我怎样才能改变:

var values = [2, 3, 4]; 

包括所有整数,而不是仅仅2,3,4?

谢谢!

编辑:

这是一些额外的信息。

这是我有:

var numbers = [2, 3, 4]; 

for(var i = 0; i < numbers.length; i++) 
{ 
    var boxnum = numbers[i]; 
    Y.all(".box"+boxnum).addClass(boxnum); 
} 

所以才要检查每一个可能的类。 box1,.box2,.box3,....但我不确定这些类可能有多少。

Ta!

+2

'ALL整个numbers'是一个无限列表....你为什么要这么做 –

+0

好在我的场景中,可能最多有10个,但可能有12个或13个。我正在使用这些数字在代码中找到类。我认为可能有一个简单的方法,比如[n]或者类似的sthing,或者[2,...]或者像这样的sthing。没关系,尽管如此,如果不能轻松完成,那么我只会在那里放一大堆数字! – user1525612

+2

这将我们带入真正的问题 - 你想完成什么? –

回答

2

找到与一流的 “盒子” 的所有元素+ X:

for (var x = 0; x <= 9999; x++) { 
    if ($('.box' + x).length < 1) { 
     $('.box' + x).addClass('yourClass'); 
    } else { 
     break; 
    } 
} 

这是假设你不会有方框x如果你没有盒(X-1)。 (箱子按顺序编号,没有任何缺失的数字)如果这个假设不正确,请告诉我。

+0

是的,华生,类似的东西,我已经更新了我的问题。 – user1525612

+0

我不使用yui,所以别人可能不得不回答你的问题,但你想要的是绝对有可能的。我可以告诉你如何使用jQuery:] – dezman

+0

jquery可能会很好,它会给我一个主意! – user1525612

0

由于某种原因,我不建议循环使用并调用jQuery函数1000次,我建议您调用一次。像这样的事情也许

var elements = $('*').filter(function() { 
    return /box[0-9]/.test(this.className) 
}); 

演示:http://jsfiddle.net/qjVsU/

基准:http://jsperf.com/class-starts-with-selector-jquery

+0

这不包括** 0-9 **它涵盖任何这样的类,例如'box-923937598792357958713985651087307598','[0-9]'意味着0和9之间的任何数字 – iConnor

+0

'box923937598792357958713985651087307598'将工作所以这个'box23'和这个'box2434'和这个'box1' – iConnor

+0

你的答案可能比我的好,但使用$('*')可能不是一个好主意。这很容易花费比拨打100美元更长的时间。你能想出一种方法来放置$('box'+ x)吗? – dezman