Jquery 如何设置此元素的样式

Jquery 如何设置此元素的样式,jquery,Jquery,我有这个脚本来设置元素悬停时的框阴影。同时还应删除父样式: var on = { boxShadow : "inset 0px 0px 0px 1px #f80" }; var out = { boxShadow : "inset 0px 0px 0px 0px #f80" }; $('body *').hover(function(e) { $(this).css(out); $(this).css(on); e.stopPropagati

我有这个脚本来设置元素悬停时的框阴影。同时还应删除父样式:

  var on = {
    boxShadow : "inset 0px 0px 0px 1px  #f80"
  };

  var out = {
    boxShadow : "inset 0px 0px 0px 0px  #f80"
  };

$('body *').hover(function(e) {
  $(this).css(out);
  $(this).css(on); 
  e.stopPropagation();
}, function() {
  $(this).parent().css(out);
  $(this).css(out);
});

如果你看这个例子,你会发现如果你悬停在跨度上,它的父p也会获得样式。我该怎么做才能只设置悬停的元素的样式,而不是它的子元素或父元素的样式?我必须使用每一个吗?

感谢上帝让它工作起来:


你看@adeneo没有问题:

我正在做一件更大的东西,我需要身体*可能的复制品。你接受的解决问题的答案是否正确?使用asterix作为选择器,并将mouseenter/leave应用于页面上的每个元素将导致你如此痛苦,以至于你永远无法正常工作。悬停只是“mouseenter”等的快捷方式。因此,你使用什么并不重要,因为这不是问题所在,所以将事件处理程序绑定到页面上的每个元素是正确的。如果JQuery选择器选择了多个元素,则对所有选择项执行选择操作。如果写入$'*'。请悬停;然后将悬停事件添加到页面上的每个元素中。您所做的是将触发悬停的元素的所有父元素的CSS更改为out,并将触发悬停的元素的CSS更改为on。此外,没有理由进行e.stopPropagation。如果您将此代码放在完整的网站上,网站中的每个元素都将受到影响。
  var on = { boxShadow : "inset 0px 0px 0px 1px  #f80" };

  var out = { boxShadow : "inset 0px 0px 0px 0px  #f80" };

$('body *').hover(function(e) {
    $(this).parents().css(out);
  $(this).css(on); 
  e.stopPropagation();
}, function() {
  $(this).parent().css(out);
  $(this).css(out);
    $(this).parent().css(on);
});