1

次のコードでは、JS で単純なタイマーに取り組んでいます。問題は、結果のコードに 1 セットの区切りコロンしか表示されないことです。

var divider = $('<span>').addClass('divider').text(':');
stopwatchFace = stopwatchFace.append(timeHour).append(divider)
                             .append(timeMin).append(divider).append(timeSec);

最初のものが拾われない理由はありますか?分割線 1 と分割線 2 オブジェクトを明示的に定義する必要がありますか?

4

2 に答える 2

4

既に追加されている要素を追加すると、結果として移動されます。

要素を複製する必要があります。バニラ JS では、これはdivider.cloneNode(true).
jQuery の場合も単純ですdivider.clone()。ボアさん、情報ありがとうございます^_^

于 2013-04-11T19:42:28.087 に答える
2

ディバイダーのクローンを作成する必要があります。分割線は dom の単一要素であるため、同時に 2 つの場所に存在することはできません。

var divider = $('<span>').addClass('divider').text(':');
stopwatchFace = stopwatchFace.append(timeHour).append(divider.clone())
                             .append(timeMin).append(divider).append(timeSec);
于 2013-04-11T19:42:51.213 に答える