4
我正在使用jQuery處理IE7中的不受支持的選擇器& 8(主要是:nth-child
和:last-child
)。我讀過addClass
比使用jQuery的css
方法更具性能,所以我重構了我的JS來做到這一點。許多選擇器和添加類
什麼是最好的方法添加到多個(有時很多!)不同的選擇器相同的類?將它們全部放入相同的語句並在列表末尾使用addClass是否安全?
例如:
$('.selector1:nth-child(3),
.diff-selector2:last-child,
#another-selector:nth-child(2),
tr.highlighted td:last-child,
h2.job-title:last-child').addClass('fallback-class');
是否有限制或在其選擇的那個列表變得很慢點?我應該爲這些選擇器列表創建變量嗎?有更好的方法嗎?
最後說明:不幸的是,使用Selectivizr讓IE7陷入停頓。這就是我決定使用上述方法的原因。
我認爲添加一個普通的類來教授所討論的控件不是一種選擇嗎? –
只需重構你的html,所以你永遠不需要使用那些非常慢的選擇器。如果沒有緩存,對於每個檢查第n個子元素的元素,都需要遍歷該元素的父元素的所有子元素。 – Esailija
不幸的是,這是一個我並沒有真正訪問HTML的地方,我做的是由CMS(Drupal)控制的東西。 – ctrlaltdel