addClass - 一个函数而不是3个函数(缩短代码)

时间:2013-08-04 23:26:11

标签: javascript yui addclass yui3

道歉我真的不知道如何标题这篇文章。

我在YUI中有以下3个功能。我所做的是寻找一个类名为 .box2 .box3 .box4 的div,然后为所有这些div添加另一个类即 .box2 div获得另一个div .2

下面的代码可以使用,但是我太过于无法将所有这些组合成一个函数用于var 数字的所有值,而不是像这样写出3次。

var number = 2;
var nodes = Y.all(".box"+ number);

nodes.each(function(node){  

    node.addClass(number);

});



var number = 3;
var nodes = Y.all(".box"+ number);

nodes.each(function(node){  

    node.addClass(number);

});



var number = 4;
var nodes = Y.all(".box"+ number);

nodes.each(function(node){  

    node.addClass(number);

}); 

万分感谢!

2 个答案:

答案 0 :(得分:2)

您不必执行each。只需在Y.all(...)上使用addClass函数即可。像这样......

var arr = [2, 3, 4];
var query = ".box" + arr.join(", .box");
Y.all(query).addClass(levelnumber);

答案 1 :(得分:1)

这个怎么样?

var numbers = [2, 3, 4];

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

http://jsfiddle.net/854Th/