Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 将$(元素)转换为香草JS_Javascript_Jquery_Ecmascript 6_Refactoring - Fatal编程技术网

Javascript 将$(元素)转换为香草JS

Javascript 将$(元素)转换为香草JS,javascript,jquery,ecmascript-6,refactoring,Javascript,Jquery,Ecmascript 6,Refactoring,我试图在每次有人向他们的购物车添加商品时基本上都刷新元素 下面是函数的一个片段 const elements = document.getElementsByClassName('foo-bar') for (const element of elements) { flashBackground($(element), '#bbbbbb'); } 所以我抓取dom元素,然后循环遍历它们并刷新它们的背景,这很有效,但我正在尝试将所有旧的JQuery代码重构到ES

我试图在每次有人向他们的购物车添加商品时基本上都刷新元素

下面是函数的一个片段

 const elements = document.getElementsByClassName('foo-bar')

    for (const element of elements) {
      flashBackground($(element), '#bbbbbb');
    }
所以我抓取dom元素,然后循环遍历它们并刷新它们的背景,这很有效,但我正在尝试将所有旧的JQuery代码重构到ES6

因此,当我控制台log
$(element)
时,我返回下面的对象

init [a.foo-bar, context: a.foo-bar]
如何在vanilla JS中获得等价的$(元素)

只需像这样删除
$()

const elements = document.getElementsByClassName('foo-bar');

for (const element of elements) {
  flashBackground(element, '#bbbbbb');
}
检查并运行以下代码片段,了解上述方法的实际示例:

const elements=document.getElementsByClassName('foo-bar');
for(元素的常量元素){
警报(element.innerHTML);
}
A
B
C
D
jQuery的$(查询)选择器实际上是对的抽象。与jQuery实现一样,querySelector()可以通过任何标准的CSS选择器用于目标节点。

我在一个非jquery对象上引用了.css,这破坏了函数
element.css(“背景”)


GetElementsByCassName不返回数组或节点列表,而是返回HTML集合。如果我检查HTML集合的原型,您可以看到没有数组方法,而是
Symbol(Symbol.iterator):ƒvalues()
,但除此之外,删除$()没有帮助,在发布之前尝试过:(@DenisSDujota但不管怎样,这两种方法都应该可以工作,正如我在答案中添加的演示片段所示。没有等效方法。
$
返回jQuery对象。
function flashBackground(element, color) {
...SOME CODE HERE

//needed to be
getComputedStyle(element)["background"]