Javascript Converty jQuery最接近ES6,为bg添加CSS 客观的
获取每个图像的url,并将其作为背景添加到vuejs项目中的父文章中 问题: 我应该如何重构最初用jQuery编写的代码Javascript Converty jQuery最接近ES6,为bg添加CSS 客观的,javascript,jquery,ecmascript-6,Javascript,Jquery,Ecmascript 6,获取每个图像的url,并将其作为背景添加到vuejs项目中的父文章中 问题: 我应该如何重构最初用jQuery编写的代码 JS-其他作者的原创作品 背景 我从另一个项目中获取代码,但它是用jQuery编写的。我不想使用jQuery,相反,我只需要用ES6或纯javascript编写它 到目前为止,我发现了一个相关的问题,但它太不一样了,无法充分利用它 我看了mozilla文档,这让我觉得我的代码应该翻译成 el.closest("article"); 但是,我如何以传
JS-其他作者的原创作品
背景 我从另一个项目中获取代码,但它是用jQuery编写的。我不想使用jQuery,相反,我只需要用ES6或纯javascript编写它 到目前为止,我发现了一个相关的问题,但它太不一样了,无法充分利用它 我看了mozilla文档,这让我觉得我的代码应该翻译成
el.closest("article");
但是,我如何以传递CSS值的方式包装它呢。我查阅了w3的文档,发现了这个示例
document.getElementById("p2").style.color = "blue";
所以我想我应该这样做
document.[unclear what to do here].style.background-image = /* what goes here for the variable? */;
要将重构后的JS转换为普通JS,您需要 (1) 迭代选定的元素(可以使用
querySelectorAll
轻松完成)
(2) 获取元素的src
属性
(3) 将最近的文章
的背景图像
设置为该src
因此,它应该非常简单:
document.querySelectorAll('.polaroid article img').forEach((img) => {
const { src } = img;
img.closest('article').style.backgroundImage = `url(${src})`;
});
请注意,当直接设置
样式
属性时,有时您想要使用的CSS字符串(例如背景图像
)在Javascript中不是有效的语法。在这些情况下,通常将由破折号分隔的单词转换为大小写。(backgroundImage
)来自重构的JS,要将其转换为纯JS,您需要
(1) 迭代选定的元素(可以使用querySelectorAll
轻松完成)
(2) 获取元素的src
属性
(3) 将最近的文章
的背景图像
设置为该src
因此,它应该非常简单:
document.querySelectorAll('.polaroid article img').forEach((img) => {
const { src } = img;
img.closest('article').style.backgroundImage = `url(${src})`;
});
请注意,当直接设置样式
属性时,有时您想要使用的CSS字符串(例如背景图像
)在Javascript中不是有效的语法。在这些情况下,通常将由破折号分隔的单词转换为大小写。(backgroundImage
)
document.querySelectorAll('.polaroid article img').forEach((img) => {
const { src } = img;
img.closest('article').style.backgroundImage = `url(${src})`;
});