Javascript 当我有多个具有相同类的div时,如何仅对div执行操作

Javascript 当我有多个具有相同类的div时,如何仅对div执行操作,javascript,jquery,html,css,mouseenter,Javascript,Jquery,Html,Css,Mouseenter,当我有多个具有相同类的div时,如何仅对div执行操作 当鼠标输入一个div时,另一个div也会有动作,如何解决这个问题 我只想让鼠标进入的div执行操作,而不是另一个,什么是最佳解决方案?非常简单,例如使用$(this) $('.mydivclass').mouseover(function(e){ $(this).css('color','gray'); // Current element }); 如果div是嵌套的,那么您应该使用e.stopPropagation()来停止事

当我有多个具有相同类的div时,如何仅对div执行操作

当鼠标输入一个div时,另一个div也会有动作,如何解决这个问题

我只想让鼠标进入的div执行操作,而不是另一个,什么是最佳解决方案?

非常简单,例如使用$(this)

$('.mydivclass').mouseover(function(e){
    $(this).css('color','gray'); // Current element
});
如果div是嵌套的,那么您应该使用e.stopPropagation()来停止事件bubling。

您需要的是一个“当前”div概念

  • 在mouseenter处理程序的开头:

    $(“.trbl”).removeClass(“当前”); $(此).addClass(“当前”)

  • 在您的case语句中,
    $(“.fromTopToBottom”).css({…})
    ->
    $(“.current.fromTopToBottom”).css({…})


  • 要获得效果,请使用$(this)。选择“.fromTopToBottom”和类似类时,直接查找(x)而不是$(x)。这允许jQuery只选择悬停元素的子元素

    将每个位置的选择器更改为:
    $(This).children(.class”)

    例如,代码
    $(“.fromTopToBottom”)
    将更改为
    $(this).children(“.fromTopToBottom”)

    演示:

    使用
    $(this).children(“.fromTopToBottom”)
    而不是
    $(“.fromTopToBottom”)


    这将在您正在编写其处理程序的元素中选择给定类的div。

    致Dale Burrell:如果使用唯一类或id,则存在一个问题,即当稍后我添加另一个div时,我还必须手动添加相应的javascript,这不是效率您是天才,你的方法让每件事都变得如此高效,再次感谢,你的方法是在当前div中找到一些东西,谢谢