我正在處理一個問題,在該問題中,我正在通過放置在單個頁面上的相同控件進行循環,併爲它們分配z-index。查找具有z索引的元素
我想要獲得所有元素的集合,這些元素當前具有在html中直接定義或使用css定義的z索引,然後從上至下迭代它們並使用JQuery分配它們的z索引。
這個樣子的選擇器是什麼樣的,它會是怎樣的性能?
我正在處理一個問題,在該問題中,我正在通過放置在單個頁面上的相同控件進行循環,併爲它們分配z-index。查找具有z索引的元素
我想要獲得所有元素的集合,這些元素當前具有在html中直接定義或使用css定義的z索引,然後從上至下迭代它們並使用JQuery分配它們的z索引。
這個樣子的選擇器是什麼樣的,它會是怎樣的性能?
沒有特定的選擇來實現這一點,所以你需要使用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
});
我以前從未嘗試過這種方式,但Chrome在未設置任何值時報告「自動」作爲z-index。這是所有瀏覽器都做的嗎? – Blazemonger
@Blazemonger是的,沒錯。某些CSS屬性(如'width','height')具有'auto'作爲其默認值。 –
好啊,所以如果OP想要通過一些z-index設置來獲取所有元素(這就是我如何閱讀這個問題),他只需要遍歷它們並用'auto'作爲值過濾掉每個元素。十分簡單。 – Blazemonger
爲什麼換下來表決這是完全有效的問題? –
@MilindAnantwar這不是我,但我認爲它是'因爲OP沒有表現出嘗試自己實現這一點。 –
這將是非常糟糕的表現,是的。請告訴我們您的問題,而不是詢問如何獲得Z指數。 ([XY-問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem))。 – Bergi