2016-02-12 28 views
1

我需要創建一個列表,其中包含我的頁面中所有的<img>元素,這些元素都是gif(而不是jpegs,png等)。現在我這樣做:通過JavaScript選擇頁面中的所有gif

var imgs = Array.prototype.slice.call(document.getElementsByTagName('img')); 
imgs = imgs.filter(function(img){ return img.src.endsWith(".gif") }) 

是否有更簡單的選擇使用純JavaScript?

回答

9

您可以使用querySelectorAll()attribute value ends with selector

var allGifs = document.querySelectorAll('img[src$=".gif"]'); 

querySelectorAll返回一個集合,所以如果你想要一個數組,你仍然需要Array.prototype.slice伎倆或Array.from(ES2015但shimmable)等。(另外,它返回的收集不是


同樣的選擇可以使用jQuery使用「活」之類的一個getElementsByTagName回報)。 爲jQuery人添加參考

$('img[src$=".gif"]') 
相關問題