1

この質問は、昨日投稿した質問に関連しています。リンク-http://stackoverflow.com/questions/12636348/how-to-add-a-different-class-to-the-same-class-in-jquery。ここでの質問と問題は、クラスが追加されたdivの後にdivを追加したいということです。問題は、私が使用しているスクリプトがdivを既存/デフォルトのクラス名にのみ追加し、JQueryを介して追加されたクラスには追加しないことです。スクリプトは以下のとおりです。

 $(document).ready(function(){$('.example').each(function(i){$(this).addClass("ex" + i);});

 $('.ex0').after(function(){return'<div class="afterdiv"><a class="afterdiva1" href="#" title="Text."></a><a class="afterdiva2" href="#" title="Text."></a></div>'});

デフォルトの出力は次のとおりです。

      <div class="example"></div>

最終的なhtml出力は次のようになります。

      <div class="example ex0"></div>
      <div class="afterdiv">
      <a class="afterdiva1"></a>
      <a class="afterdiva2"></a>
      </div>

更新-各divがクラスごとに一意である必要があることを明確にしないことをお詫びします。心からお詫び申し上げます(私はここまたは他の場所で助けを求めるのは初めてです)。

4

3 に答える 3

2

.ready()これらすべての呼び出しを関数に入れる必要があります。現在、2行目はDOM Readyコールバックの前に実行されます(.ready()非同期関数であるため)。

于 2012-09-29T01:47:56.957 に答える
1

.each()関数ですべてのコードを実行してみませんか?このような:

$(document).ready(
function(){
$('.example').each(
function(i){
$(this).addClass("ex" + i).after('<div class="afterdiv"><a class="afterdiva1" href="#" title="Text."></a><a class="afterdiva2" href="#" title="Text."></a></div>');
});
});
于 2012-09-29T01:46:37.973 に答える
1

FIDDLEを確認してください

.insertがDOMreadyイベントに含まれていなかったという問題

その中にそれを入れて、うまくいくはずです。

ここで機能しています。背景を教えてください-クラス名の色を再確認してください。

于 2012-09-29T01:48:01.230 に答える