Javascript 我无法将css类添加到新元素

Javascript 我无法将css类添加到新元素,javascript,jquery,Javascript,Jquery,我有一个按钮,点击我,鼠标悬停只对这个按钮有效。问题是关于新按钮。我不能用addClass添加css $("button#Clickme").on({ click:function(){ $("div.Div").append('<button class="Clicker" >New Button</button>'); } }); $("button.Clicker").mouseover(function(){ $(this).

我有一个按钮,点击我,鼠标悬停只对这个按钮有效。问题是关于新按钮。我不能用addClass添加css

$("button#Clickme").on({

    click:function(){
      $("div.Div").append('<button class="Clicker" >New Button</button>');
    }

});

$("button.Clicker").mouseover(function(){
  $(this).addClass("button");
});
$("button.Clicker").mouseout(function () {
 $(this).removeClass("button");
});

这是因为您可以动态创建按钮:

$buttonClickme.on{ 单击:函数{ $div.div.append'新按钮'; } }; $document.on'mouseover',button.Clicker',函数{ $this.addClassbutton; 警报“hhh”; }; $document.on'mouseout',button.Clicker',函数{ $this.addClassbutton; 警报“hhh”; }; 点击我
使用父级来捕获事件, 因为选择时按钮不存在

$("button.Clicker")
那么你应该使用:

var $parent = $('body');
$parent.on('mouseover','button.Clicker').function(){
  $(this).addClass("button");
});

问题可能是你在点击时使用的。我认为你需要绑定。点击事件

我只是用我的风格改变了“使用事件”的工作方式,可以试试吗 $buttonClickme.on'click',函数{ $div.div.append'新按钮'; }; $button.Clicker.mouseoverfunction{ $this.addClassbutton; }; $button.Clicker.mouseoutfunction{ $this.removeClassbutton;
}; 我认为您应该使用.on作为由脚本动态添加的元素,如下所示

  $(document).on('mouseover', 'button.Clicker', function() {
    $(this).addClass("button");
  });

  $(document).on('mouseout', 'button.Clicker', function() {
    $(this).addClass("button");
  });
与.mouseover事件的直接连接将仅适用于可用的元素


但是对于动态创建的元素,您应该使用。在

上,您使用的是哪个jQuery版本?版本是1.11.3.min。js它的可能副本可以工作,谢谢,但在第二个函数中,您再次编写了addClass,我认为可以修复它。有些人也会面临同样的问题