2

表示される要素の日付範囲を自動入力しようとしています。私が持っているコードは、空の終了日が 1 つしかない限り正常に機能しますが、clone() メソッドが 2 回実行される理由を理解するのが困難です。

フィドルはこちらです。

基本的にそれらは仕事であり、役割です。ジョブは多くの役割を持つことができ、親ジョブ内の役割は開始時間と終了時間が重複する可能性があると思いますが、この側面では必要ありません. ジョブは、開始時刻と終了時刻をオーバーラップさせることができます。このコードは、ROLES の HTML 内に記述されている開始時刻と終了時刻を探し、終了時刻が指定されていない場合は、ロールの終了時刻を「CURRENT」として入力することによって機能します。次に、JOB 時間を設定するために、配列内のすべての開始時間start(var start = []) と配列内のすべての終了時間end(var end = []) を収集します。次にソートstartend、最初のstartインデックス (日付) を JOB の開始日として、最後のインデックス (日付) をendJOB の終了日として取得します。どういうわけか問題はラインにあります$(this).find('>h1').after($('.workexperience time.end[datetime=' + end[end.length-1] + ']').clone()); 、配列が正しいようです。

私のコードのエラーの正しい方向を教えてもらえますか?

nnnnnn あたり: クローンの前のクエリは次のとおり$('.workexperience time.end[datetime=' + end[end.length-1] + ']')です。

[ 現在 , 現在 ]

[ 2012年9月 ]

[ 現在 , 現在 , 現在 , 現在 ]

[ 2006年3月 ]

[ 2002 年 6 月 ]

end[end.length-1]変数 endのクエリの結果は次のようになります。

2012年11月

2012 年 9 月

2012年11月

2006 年 3 月

2002-06

4

1 に答える 1

2

あなたの $('.workexperience time.end[datetime=' + end[end.length-1] + ']') はすべてのジョブを収集していますが、私が正しく理解していれば、現在のジョブにのみスコープを設定する必要があります:

$(this).find('time.end[datetime=' + end[end.length-1] + ']').clone()

フィドル: http://jsfiddle.net/jYnZy/14/

于 2012-11-06T03:23:39.520 に答える