这个问题涉及使用 jQuery 来操作 DOM 元素样式,特别是在鼠标悬停事件(hover)时改变具有相同类名的嵌套 div 元素的边框颜色。
$(document).ready(function() {
$('.your-class-name').hover(
function() { // 鼠标进入时
$(this).css('border-color', 'red');
},
function() { // 鼠标离开时
$(this).css('border-color', '');
}
);
});
$(document).ready(function() {
$('.your-class-name').on('mouseenter', function() {
$(this).css('border-color', 'blue');
}).on('mouseleave', function() {
$(this).css('border-color', '');
});
});
如果嵌套的 div 有相同的类名,你可能需要阻止事件冒泡:
$(document).ready(function() {
$('.your-class-name').hover(
function(e) {
e.stopPropagation(); // 阻止事件冒泡
$(this).css('border-color', 'green');
},
function(e) {
e.stopPropagation(); // 阻止事件冒泡
$(this).css('border-color', '');
}
);
});
stopPropagation()
。border: 1px solid black;
)hover()
绑定事件可能会影响性能。可以考虑事件委托:$(document).on('mouseenter', '.your-class-name', function() {
$(this).css('border-color', 'purple');
}).on('mouseleave', '.your-class-name', function() {
$(this).css('border-color', '');
});
这种技术常用于:
$(document).ready(function() {
$('.your-class-name').hover(
function() {
$(this).addClass('hover-border');
},
function() {
$(this).removeClass('hover-border');
}
);
});
对应的 CSS:
.your-class-name {
border: 1px solid #ccc;
}
.hover-border {
border-color: red !important;
}
:hover
伪类实现简单悬停效果,性能更好:.your-class-name {
border: 1px solid #ccc;
transition: border-color 0.3s ease;
}
.your-class-name:hover {
border-color: red;
}
没有搜到相关的沙龙