当我有多个具有相同类的 div 时,如何仅在 div 上执行操作
http://jsfiddle.net/kent93/Qw7bw/
当鼠标进入一个 div 时,另一个 div 也会有动作,我该如何解决这个问题
我只希望我的鼠标进入的 div 采取行动,而不是其他的,最好的解决方案是什么?
当我有多个具有相同类的 div 时,如何仅在 div 上执行操作
http://jsfiddle.net/kent93/Qw7bw/
当鼠标进入一个 div 时,另一个 div 也会有动作,我该如何解决这个问题
我只希望我的鼠标进入的 div 采取行动,而不是其他的,最好的解决方案是什么?
将每个位置的选择器更改为: $(this).children(".class")
例如代码$(".fromTopToBottom")
将更改为 $(this).children(".fromTopToBottom")
演示:http: //jsfiddle.net/Qw7bw/10/
很简单,例如使用$(this)
$('.mydivclass').mouseover(function(e){
$(this).css('color','gray'); // Current element
});
如果 div 是嵌套的,那么您应该使用 e.stopPropagation() 来停止事件冒泡。
你需要的是一个“当前”的 div 概念。
在 mouseenter 处理程序的开头:
$(".trbl").removeClass("current"); $(this).addClass("current");
在您的案例陈述中,$(".fromTopToBottom").css({...})
->$(".current .fromTopToBottom").css({...})
选择 ".fromTopToBottom" 和类似的类时,直接使用 $(this).find(x) 而不是 $(x)。这允许 jQuery 只选择悬停元素的子元素http://jsfiddle.net/Qw7bw/6/
使用$(this).children(".fromTopToBottom")
而不是$(".fromTopToBottom")
.
这将在您正在编写其处理程序的元素内选择给定类的 div。