Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Converty jQuery最接近ES6,为bg添加CSS 客观的_Javascript_Jquery_Ecmascript 6 - Fatal编程技术网

Javascript Converty jQuery最接近ES6,为bg添加CSS 客观的

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"); 但是,我如何以传

获取每个图像的url,并将其作为背景添加到vuejs项目中的父文章中

问题: 我应该如何重构最初用jQuery编写的代码


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})`;
});