更改元素颜色属性的Javascript代码

更改元素颜色属性的Javascript代码,javascript,html,css,Javascript,Html,Css,嘿,我需要一个列表项来改变颜色取决于一个悬停在它上面,但它不工作 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <script> var m = document.getElementById("Q"); m.addEventListener("mouse over", fun

嘿,我需要一个列表项来改变颜色取决于一个悬停在它上面,但它不工作

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <script>
        var m = document.getElementById("Q");
        m.addEventListener("mouse over", function(){
            m.setAttribute("style", "background-color: #ccc;");
        }, false);
    </script>
    <li>1</li>
    <li id = "Q">Hello darkness my old friend</li>
    <li>2</li>
    </body>
</html>

我知道我可以使用css更改背景颜色

这是使用简单css可以实现的:

#q:hover {
    background-color: red;
}

这是使用简单CSS可以实现的:

#q:hover {
    background-color: red;
}

或者,可以使用样式对象来执行此操作

var m = document.getElementById("Q");
m.addEventListener("click", function(){
    m.style.backgroundColor= '#000'
});

或者,可以使用样式对象来执行此操作

var m = document.getElementById("Q");
m.addEventListener("click", function(){
    m.style.backgroundColor= '#000'
});

可以使用jquery函数更改元素的颜色

<script>
$(document).ready(function(){
  $("p").mouseover(function(){
    $("p").css("background-color", "yellow");
  });
  $("p").mouseout(function(){
    $("p").css("background-color", "lightgray");
  });
});
</script>

HTML代码:

<p>Move the mouse pointer over this paragraph.</p>

可以使用jquery函数更改元素的颜色

<script>
$(document).ready(function(){
  $("p").mouseover(function(){
    $("p").css("background-color", "yellow");
  });
  $("p").mouseout(function(){
    $("p").css("background-color", "lightgray");
  });
});
</script>

HTML代码:

<p>Move the mouse pointer over this paragraph.</p>
可以使用setAttribute更改元素的颜色

var myElement = document.getElementById("YOUR_ELEMENTS_UNIQUE_ID");

myElement.setAttribute('style', 'color: red');
可以使用setAttribute更改元素的颜色

var myElement = document.getElementById("YOUR_ELEMENTS_UNIQUE_ID");

myElement.setAttribute('style', 'color: red');

如果您希望在用户悬停项目时添加效果,并在用户未悬停项目时删除效果-也称为“悬停”效果,只需使用CSS即可:

#Q:hover {
    background-color: red;
}
如果要添加“永久”效果,请在用户悬停某个项目后使用JS:

var elem = document.getElementById('Q');
elem.addEventListener('onmouseenter', function(){this.style.backgroundColor = 'red'});
上述功能可以改进为只触发一次,这是一个很好的内存管理练习:

var elem = document.getElementById('Q');

function changeColor(e) {
    e.target.style.backgroundColor = 'red';
    e.target.removeEventListener('onmouseenter', changeColor);
};

elem.addEventListener('onmouseenter', changeColor);
它还可以应用于多个元素:

var targets = document.getElementsByClassName('myClassName');

function changeColor(e) {
    e.target.style.backgroundColor = 'red';
    e.target.removeEventListener('onmouseenter', changeColor);
};

targets.map(target => target.addEventListener('onmouseenter', changeColor));

如果您希望在用户悬停项目时添加效果,并在用户未悬停项目时删除效果-也称为“悬停”效果,只需使用CSS即可:

#Q:hover {
    background-color: red;
}
如果要添加“永久”效果,请在用户悬停某个项目后使用JS:

var elem = document.getElementById('Q');
elem.addEventListener('onmouseenter', function(){this.style.backgroundColor = 'red'});
上述功能可以改进为只触发一次,这是一个很好的内存管理练习:

var elem = document.getElementById('Q');

function changeColor(e) {
    e.target.style.backgroundColor = 'red';
    e.target.removeEventListener('onmouseenter', changeColor);
};

elem.addEventListener('onmouseenter', changeColor);
它还可以应用于多个元素:

var targets = document.getElementsByClassName('myClassName');

function changeColor(e) {
    e.target.style.backgroundColor = 'red';
    e.target.removeEventListener('onmouseenter', changeColor);
};

targets.map(target => target.addEventListener('onmouseenter', changeColor));

只需将鼠标从红色移除,并将click事件更改为Mouse,然后它就可以工作了

var m=document.getElementByIdQ;
m、 addEventListenermouseover,函数{m.setAttributestyle,背景色:红色;;},false 只需将鼠标从红色移除,并将click事件更改为Mouse,然后它就可以工作了

var m=document.getElementByIdQ; m、 addEventListenermouseover,函数{m.setAttributestyle,背景色:红色;;},false 1. 你好,我的老朋友 2. var m=document.getElementByIdQ; m、 addEventListenermouseover,函数{ m、 style.backgroundColor=ccc; },假; 1. 你好,我的老朋友 2. var m=document.getElementByIdQ; m、 addEventListenermouseover,函数{ m、 style.backgroundColor=ccc; },假;
Javascript在这里似乎有点过分了。只需像这样使用css q:hover{background color:red;}您谈论的是hover,但是bind to click?如果您提供的样式值是有效的,这会有所帮助。红色不是一个颜色值。可能的Javascript复制似乎有点过火了。只需像这样使用css q:hover{background color:red;}您谈论的是hover,但是bind to click?如果您提供的样式值是有效的,这会有所帮助。红色不是颜色值。可能的复制包括一个完整的库和10行代码,当3行CSS将实现完全相同的事情,并且更灵活?是的,我们可以使用CSS,但这是实现目标的一种方法包括一个完整的库和10行代码,当3行CSS将实现完全相同的事情,更灵活?是的,我们可以使用css,但这是实现目标的一种方法