使用 Grunt 进行 DOM 更改

Use Grunt to make DOM changes

所以我想使用 Lazysizes(延迟加载响应图像)。我的 Grunt 堆栈中包含 Responsive Images Extender,它通过简单地包含一个带有 "src" 属性的 "img" 标签来输出响应图像代码 (srcset)。但是,Lazysizes 需要 "data-srcset" 属性来替换 "srcset" 属性。我向我的页面添加了一个脚本,将 "srcset" 属性更改为 "data-srcset" 属性,但这并不理想,因为图像已经在运行时下载。如果我可以用 Grunt 更改标签,那将是理想的,因为实时更改它们没有任何优势。

这似乎是一件很常见的事情,但我找不到好的方法来做。字符串替换似乎不是一个理想的解决方案,因为如果我在我的代码中使用 "srcset=",它可能会导致问题。

有一个叫 dom_munger 的 grunt tans。使用 dom_munger 您可以更改 HTML 属性并做很多有趣的事情;但是我找不到将属性名称更改为其他名称的方法。也许你可以有更好的运气检查它。

我对 grunt-responsive-images-extender 进行了重大改造,并添加了通过 srcsetAttributeName选项。