Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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 单击背景时如何更改背景?_Javascript - Fatal编程技术网

Javascript 单击背景时如何更改背景?

Javascript 单击背景时如何更改背景?,javascript,Javascript,我该怎么做?使用JavaScript data-pos="A" backgrund change to blue. data-pos="B" backgrund change to Red. 函数foo(){ //选择背景颜色已更改的元素 document.getElementById(“选择器”).style.backgroundColor=“红色”; } 您可以使用如上所示的内容。您可以设置事件侦听器,并根据clickli元素的数据集设置单击时的颜

我该怎么做?使用JavaScript


data-pos="A" backgrund change to blue.
data-pos="B" backgrund change to Red.
函数foo(){ //选择背景颜色已更改的元素 document.getElementById(“选择器”).style.backgroundColor=“红色”; }

您可以使用如上所示的内容。

您可以设置事件侦听器,并根据click
li
元素的
数据集设置
单击时的
颜色

const POS_COLOR_MAP={A:'蓝色',B:'红色'};
函数setColor(listItem){
const color=POS_color_MAP[listItem.dataset['POS'];
如果(颜色)listItem.style.backgroundColor=颜色;
}
document.getElementById(“myList”).addEventListener(“单击”,事件=>{
if(event.target&&event.target.nodeName==“LI”)setColor(event.target);
});
  • 文本1
  • 文本2
委托并使用类

我假设你想在这里更改LI的背景色

document.getElementById('myList').addEventListener(“单击”),函数(e){
常数tgt=e.target;
if(tgt.dataset.pos)tgt.classList.toggle('selected');
})
[data pos=A]。已选择{
背景颜色:蓝色;
颜色:白色;
}
[数据位置=B]。已选择{
背景色:红色;
}
  • 文本1
  • 文本2
只需访问拥有数据属性的li,然后根据数据属性值更改颜色即可

请参见下面的工作代码段:

var liElement=document.queryselectoral(“li[data pos]”);
liElement.forEach(li=>{
li.addEventListener(“单击”,函数(e){
document.body.style.backgroundColor=e.target.dataset['pos']
})
})
li:悬停{
光标:指针;
边框:1px点灰色;
}
蓝色
  • red
  • 。这是否回答了您的问题?你和这家伙有亲戚关系吗?更改LI或页面的背景?他想单击LI并更改所单击的LINo的背景颜色他想选择什么我给他看一些代码它是如何工作的。他可以搜索JSDOM。@mplungjan,可能是的,这将阻止额外的循环事件绑定
    data-pos="A" backgrund change to blue.
    data-pos="B" backgrund change to Red.
    
     <button onClick="foo()"> </button>
    
    
    <script> 
          
          function foo(){
            //select your element whose background color changed
             document.getElementById("selector").style.backgroundColor = "red";
           }
    </script>