更改元素颜色属性的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,但这是实现目标的一种方法