我需要能夠將當前選擇器存儲在當前視口中,然後10秒鐘檢查它們是否仍在用戶當前視口中。將jquery選擇器轉換爲數組
我的解決方案是將選擇器存儲在一個數組中,然後在10秒內將舊選擇器與新的比較,看看是否有匹配。如果他們做...做些事情。
所以我相信使用.each和構建數組,除非有人有一個更優雅的解決方案呢?
$('.gridContainers:in-viewport')
這將返回一個標準選擇器。
我需要能夠將當前選擇器存儲在當前視口中,然後10秒鐘檢查它們是否仍在用戶當前視口中。將jquery選擇器轉換爲數組
我的解決方案是將選擇器存儲在一個數組中,然後在10秒內將舊選擇器與新的比較,看看是否有匹配。如果他們做...做些事情。
所以我相信使用.each和構建數組,除非有人有一個更優雅的解決方案呢?
$('.gridContainers:in-viewport')
這將返回一個標準選擇器。
調用$(選擇器)返回一個類似數組的jQuery對象,而不是實際的JavaScript數組,但是爲了實現它們試圖將其轉換爲實際數組的目的可能是不必要的。
這是如何將選擇器變成原生Javascript數組。
$(selector).toArray()
blimey!我怎麼錯過了,博洛! –
沒有必要調用.toArray(),因爲$(selector)已經返回一個數組。 – BishopZ
humm,使用toArray會將它變成一個trun js數組。 –
嘗試列如下FIND方法:
$('element').find('selection');
這會給所有選定的元素陣列。希望這有助於
'.find()'返回一個jQuery對象,而不是一個數組。 – jackwanders
這不會幫助,因爲它只是發現一個元素降序您的當前選擇器。 –
是的,但它可以幫助人們認識到,還有另一個更簡單的解決方案,試圖用數組來實現它們。所以,從我+1。 –
隨着ES6:
Array.from($(selector)); // return JS array
我不明白這一點。你能詳細闡述一下嗎? – jAndy
你將不得不張貼一些標記和一些JavaScript,所以我們可以知道你在做什麼 – jackwanders
[*你有什麼試過?*](http://mattgemmell.com/2008/12/08/what-you-you-tried /) – zzzzBov