前端開發中常用的jQuery庫,是一款非常靈活的JavaScript庫。今天我們來聊聊jQuery集合和list集合之間相互轉換的方法。
jQuery集合通常是一個包含一組DOM元素的對象。比如通過類名獲取到的圖片組或者某個ul下面的所有li組成的集合。
// 比如這樣獲取到一個圖片組的jQuery集合 var imgList = $('.img-container img');
而list集合就是一個數組對象,它是JavaScript內置的對象。我們可以把jQuery集合轉換成list集合,然后根據需要處理里面的元素。
// 使用jQuery對象的toArray()方法將jQuery集合轉換為list集合 var imgArr = imgList.toArray();
到這里為止,我們獲得了一個包含所有圖片元素的數組imgArr。接下來,我們就可以隨心所欲地操作它。
// 比如把所有圖片的寬度都變為300 imgArr.forEach(function(img){ $(img).width(300); });
需要注意的是,jQuery集合是一個類數組對象,可以像數組一樣進行循環遍歷等操作,但并不是真正的數組。所以一些針對數組特有函數的操作,如filter、map等需要先將其轉換為list集合。
// 比如利用map方法生成一個imgList的src數組 var imgSrcList = imgList.map(function(){ return $(this).attr('src'); }).toArray();
jQuery對于DOM樹操作非常方便,但在一些數組批量處理的場景下,轉換成list集合也是一個不錯的方法。