1

私はこのようなコードをいくつか持っていますが、これが最も重要で、私が望むように機能しない部分です。

<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/を実行しましたが、このコードは特定の時間間隔でトリガーされる関数内にあり(スライダーです)、このようには機能しませんここに例があります。

私のコードでは、最初のdivの結果は、常に<div class="somediv class11 undefined">undefinedが必要な場所ですAllSecondCssClasses[index2]-> class21

返信ありがとうございます:)

4

1 に答える 1

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です

于 2012-08-09T10:27:30.020 に答える