簡體   English   中英

在多個元素上沒有同時發生addClass

[英]addClass not happening at the same time on multiple elements

我有一個將類添加到許多元素的函數...

$('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';
}

顯然,該類是在迭代中添加到每個元素的,因此不會同時修改這些元素,並引用Rory McCrossan的評論

該類將通過這些元素循環添加,但是迭代和DOM更新之間的延遲應該幾乎不可察覺。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM