Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 使用querySelectorAll动态更改输入上的值_Javascript_Css - Fatal编程技术网

Javascript 使用querySelectorAll动态更改输入上的值

Javascript 使用querySelectorAll动态更改输入上的值,javascript,css,Javascript,Css,我有多个颜色输入,总共16个,我使用一个div作为包装来设计样式。包装器div color包装器本质上是我的颜色输入 <ul class="color-picker__list"> <li> <div class="color-wrapper"> <input id="highlight-background" type="color" value="#F7EBC6">

我有多个颜色输入,总共16个,我使用一个div作为包装来设计样式。包装器div color包装器本质上是我的颜色输入

<ul class="color-picker__list">
          <li>
            <div class="color-wrapper">
              <input id="highlight-background" type="color" value="#F7EBC6">
              <label for="highlight-background">Highlight Background</label>
            </div>
          </li>
          <li>
            <div class="color-wrapper">
              <input id="highlight-accent" type="color" value="#F7D87C">
              <label for="highlight-accent">Highlight Accent</label>
            </div>
          </li>
</ul>
我只在使用querySelector选择单个颜色时成功,但我需要能够动态更改所有16种颜色输入

输入和包装CSS

您可以在封装输入元素的元素上侦听更改事件。在下面的示例中,我使用了一个表单元素来监听

每当用户更改输入上的颜色时,将触发change listener中的函数。然后,它从已使用的输入中获取值,然后使用该值设置.color包装器元素的背景色

通过这种方式,您可以添加任意数量的颜色选择器,而无需修改JS

const form=document.querySelector'.js color form'; form.addEventListener'change',functionevent{ const wrapper=event.target.parentElement; 常量值=event.target.value; wrapper.style.backgroundColor=值; }; 突出显示背景 突出强调重音 您可以在封装输入元素的元素上侦听更改事件。在下面的示例中,我使用了一个表单元素来监听

每当用户更改输入上的颜色时,将触发change listener中的函数。然后,它从已使用的输入中获取值,然后使用该值设置.color包装器元素的背景色

通过这种方式,您可以添加任意数量的颜色选择器,而无需修改JS

const form=document.querySelector'.js color form'; form.addEventListener'change',functionevent{ const wrapper=event.target.parentElement; 常量值=event.target.value; wrapper.style.backgroundColor=值; }; 突出显示背景 突出强调重音
这对我来说是个好办法:

获取所有输入元素,循环它们,将更改事件添加到每个元素,并将其颜色设置为其父元素

Javascript:

var inputs = document.querySelectorAll('.color-wrapper input');
inputs.forEach(function(element){
    element.addEventListener("change", function () {
        element.parentNode.style.background = element.value;
    });
})

这对我来说是个好办法:

获取所有输入元素,循环它们,将更改事件添加到每个元素,并将其颜色设置为其父元素

Javascript:

var inputs = document.querySelectorAll('.color-wrapper input');
inputs.forEach(function(element){
    element.addEventListener("change", function () {
        element.parentNode.style.background = element.value;
    });
})
var inputs = document.querySelectorAll('.color-wrapper input');
inputs.forEach(function(element){
    element.addEventListener("change", function () {
        element.parentNode.style.background = element.value;
    });
})