我有一些像这样的代码,这里是最重要的部分,并不能按我的意愿工作。
<div class="somediv" data-dummy="class11">some text</div>
<div class="somediv" data-dummy="class12">some flying saucers</div>
<div class="somediv" data-dummy="class13">some crazy jpg</div>
var AllFirstCssClasses = [ 'class11', 'class12', 'class13' ];
var AllSecondCssClasses = [ 'class21', 'class22', 'class23' ];
for (var index = 0; index < $('div.somediv').length; index++){
var firstCssClass = $('div.somediv').eq(index).attr('data-dummy');
var index2 = $.inArray(firstCssClass, AllFirstCssClasses);
$('div.somediv').eq(index).addClass(firstCssClass + ' ' + AllSecondCssClasses[index2] );
}
我已经完成了一个适用于此示例的小提琴http://jsfiddle.net/FVVXx/11/,但此代码位于某个时间间隔内触发的函数内(它是一个滑块),并且它在此示例中不起作用。< / p>
在我的代码中,第一个div的结果始终为<div class="somediv class11 undefined">
,其中undefined应为AllSecondCssClasses[index2]
- &gt; class21
感谢您的回复:)
答案 0 :(得分:1)
这是你应该用JQuery编写算法的方法。如果你能解释你想要做什么,我将能够提供更多帮助。
$(function(){
var AllFirstCssClasses = [ 'class11', 'class12', 'class13' ];
var AllSecondCssClasses = [ 'class21', 'class22', 'class23' ];
function getParallelClass( firstClass ){
return AllSecondCssClasses[$.inArray(firstClass, AllFirstCssClasses)];
}
$("div.somediv").each(function(index,item){
var $myDummy = $(this).attr("data-dummy");
$(this).addClass($myDummy).addClass(getParallelClass( $myDummy) );
});
});
这是我的JSFiddle