span
パフォーマンスに関しては、地獄をお勧めします。
<span id="string"><span id="h">12</span><span class="h">h</span><span id="m">12</span><span class="m">m</span><span id="s">12</span><span class="s">s</span></span>
h
、m
および文字ごとに 1 つのスパンで、s
適切にスタイルを設定できます (それぞれに同じスタイルまたは異なるスタイルを適用できます)。
また、番号ごとに別のスパンを使用して、参照をキャッシュできます。要約すると、非常に単純化されたローカル タイム クロックの JS は次のとおりです。
//cache number container element references
var h = document.getElementById('h'),
m = document.getElementById('m'),
s = document.getElementById('s'),
//IE feature detection
textProp = h.textContent !== undefined ? 'textContent' : 'innerText';
function tick() {
var date = new Date(),
hours = date.getHours(),
mins = date.getMinutes(),
secs = date.getSeconds();
h[textProp] = hours < 10 ? '0'+hours : hours;
m[textProp] = mins < 10 ? '0'+mins : mins;
s[textProp] = secs < 10 ? '0'+secs : secs;
}
tick();
setInterval(tick, 1000);
フィドル
これは、キャッシュされたセレクターの基本的な考え方を示しています。要素を再作成しないことで、パフォーマンスも大幅に向上します。
ただし、非常に単純なものの場合、1 秒に 1 回というのはそれほど重い作業ではありません (ページに何百もの時計がある場合を除きます)。