2013-01-31 202 views
0

我正在處理一個問題,在該問題中,我正在通過放置在單個頁面上的相同控件進行循環,併爲它們分配z-index。查找具有z索引的元素

我想要獲得所有元素的集合,這些元素當前具有在html中直接定義或使用css定義的z索引,然後從上至下迭代它們並使用JQuery分配它們的z索引。

這個樣子的選擇器是什麼樣的,它會是怎樣的性能?

+0

爲什麼換下來表決這是完全有效的問題? –

+2

@MilindAnantwar這不是我,但我認爲它是'因爲OP沒有表現出嘗試自己實現這一點。 –

+0

這將是非常糟糕的表現,是的。請告訴我們您的問題,而不是詢問如何獲得Z指數。 ([XY-問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem))。 – Bergi

回答

3

沒有特定的選擇來實現這一點,所以你需要使用filter()這樣的:

var zIndex = 5; 
var $zElements = $('.selector').filter(function() { 
    return $(this).css('z-index') == zIndex; 
}); 

$zElements.each(function() { 
    // loop through the elements with a matching z-index 
}); 
+0

我以前從未嘗試過這種方式,但Chrome在未設置任何值時報告「自動」作爲z-index。這是所有瀏覽器都做的嗎? – Blazemonger

+0

@Blazemonger是的,沒錯。某些CSS屬性(如'width','height')具有'auto'作爲其默認值。 –

+0

好啊,所以如果OP想要通過一些z-index設置來獲取所有元素(這就是我如何閱讀這個問題),他只需要遍歷它們並用'auto'作爲值過濾掉每個元素。十分簡單。 – Blazemonger