2
我已經增加了一個班多個元素的功能...addClass在對多個元素的同時
$('html, body, .site-inner, #page').addClass('black-hover');
然而它看來,類不是在同一時間加入不會發生, 是否有一個原因?
black-hover
只是一個黑色的背景,我想知道是否因爲我使用了一些選擇器'html, body, .site-inner'
等?
我已經增加了一個班多個元素的功能...addClass在對多個元素的同時
$('html, body, .site-inner, #page').addClass('black-hover');
然而它看來,類不是在同一時間加入不會發生, 是否有一個原因?
black-hover
只是一個黑色的背景,我想知道是否因爲我使用了一些選擇器'html, body, .site-inner'
等?
的背後你的jQuery addClass
調用的簡單的替代代碼是類似的東西:
var elements = document.querySelectorAll('html, body, .site-inner, #page');
for (var i = 0, len = elements.length; i < len; i++) {
if ((' ' + elements[i].className + ' ').indexOf(' black-hover ') === -1)
elements[i].className += ' black-hover';
}
顯然,類添加到在迭代每個元素,所以元素不會在同一時間修改,援引羅裏McCrossan的comment:
本課程將在一個循環中通過這些元素被添加,但是迭代和DOM更新之間的延遲 應該幾乎 impercept IBLE。
你怎麼知道他們並非全部都是同時添加的? – Scimonster
該類將通過這些元素循環添加,但迭代和DOM更新之間的延遲幾乎不可察覺。你能否添加一個這個問題的實例,因爲我從未見過這種行爲。 –
_class不會在同一時間添加_什麼意思?這不會爲每個元素添加類嗎? – Jai