嘿那里,我正在尝试获取我正在盘旋的元素的类名,并为此特定类指定背景颜色。我得到了类名 来自https://stackoverflow.com/a/21912356的Michel解决方案:
$(document).on('mouseover', 'div', function(e) {
console.log($(e.target).attr('class'));
});
但是我如何实现我正在盘旋的类的所有元素都获得相同的颜色(或者 - 作为改进 - 随机颜色)?
答案 0 :(得分:0)
但是我如何实现我正在徘徊的班级的所有元素 获得相同的颜色(或 - 作为改进 - 随机颜色)?
你几乎就在那里,只需使用相同的类名作为选择器
$(document).on('mouseover', 'div', function(e) {
var className = $(e.target).attr('class');
$( "." + className ).css( "background-color", ranCol() );
});
var ranCol = () => '#'+(Math.random()*0xFFFFFF<<0).toString(16);
修改强>
OP附加了一份有效的fiddle
答案 1 :(得分:0)
你可以这样做:
$(document).on('mouseover', 'div', function(e) {
console.log($(e.target).attr('class'));
if($(e.target).hasClass("some-class")) //"some-class" will be the class to which you need to apply css.
{
$(e.target).attr('style','background-color:blue;');
}
});
答案 2 :(得分:0)
您可以将属性style
设置为元素。您可以使用jQuery css
方法使用多个样式属性。see here。所以你通过使用JavaScript和Jquery实现如下。
$(document).on('mouseover', 'div', function(e) {
let className = e.target.className.split(" ")[0];
let styles = 'background-color:red; font-size:15em; transform:rotate(20deg)';
document.getElementsByClassName(className)[0].style = styles;
// or
$("."+className).css({"background-color":"green"});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myClass">hello </div>
答案 3 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).on('mouseover', 'div', function(e) {
var divClass = $(this).attr('class');
$( "." + divClass ).css( "background-color", getRandomColor() );
});
function getRandomColor() {
var letters = '0123456789ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
</script>
</head>
<body>
<div class="first">
<div>one</div>
</div>
<div class="second">
<div>two</div>
</div>
<div class="third">
<div>three</div>
</div>
</body>
</html>
&#13;