Jquery 子项可以忽略对父项显示的更改吗?

Jquery 子项可以忽略对父项显示的更改吗?,jquery,css,Jquery,Css,如果我建立了一个按钮,该按钮在悬停时淡入淡出,则子按钮将与父按钮一起淡出。孩子们包含文本,因此我希望能够让他们忽略fadeIn()或fadeOut()效果。我在not()方面也没有任何运气 我怀疑是我自己缺乏知识造成的,因为如果只是在动态地改变CSS,那么可能没有一个好的方法来阻止这些改变像影响父母一样影响孩子 这显然是一个简单的代码,但如果相关的话,它如下所示: myButton.hover(function(){ $(this).fadeTo(/*code to change the

如果我建立了一个按钮,该按钮在悬停时淡入淡出,则子按钮将与父按钮一起淡出。孩子们包含文本,因此我希望能够让他们忽略
fadeIn()
fadeOut()
效果。我在
not()
方面也没有任何运气

我怀疑是我自己缺乏知识造成的,因为如果只是在动态地改变CSS,那么可能没有一个好的方法来阻止这些改变像影响父母一样影响孩子

这显然是一个简单的代码,但如果相关的话,它如下所示:

myButton.hover(function(){
    $(this).fadeTo(/*code to change the speed, etc etc*/);
        }, function(){
    $(this).fadeTo(/*reverse the changes, and so on*/);
    }
});

有没有一种很好的方法可以让孩子们忽略对家长的这些更改?

我会使用CSS来实现这一点

#我的按钮{
背景色:rgb(0,0,0);/*任何颜色*/
过渡:背景色0.5s轻松;/*无论您想要多长*/
}
#我的按钮:悬停{
背景色:rgba(0,0,0,0.5);/*您想要的任何颜色和淡入度*/
}

它优雅地退化,可以在任何颜色之间转换。当然,为了兼容性,您可能需要添加
-webkit transition
-moz transition
-o-transition
,并使用
#myButton:hover、#myButton:focus
作为键盘焦点。

父对象只是背景而没有文本吗?(即,您是否希望将背景淡入透明状态并保留文本?)简言之,不。我会更进一步,但这里已经回答了这个问题:是的。父级是带有背景色的div,子级是带有文本的p。背景不需要是透明的,只需稍微淡入,表示可以点击。在这种情况下,在淡入淡出中丢失文本会适得其反。没有CSS解决我的jQuery问题:)哈哈,我不希望这是唯一的方法,但如果它对我有效,那么better@Stick:这不是唯一的方法,但使用jQuery转换颜色不如其他方法方便,因此…。不过,这行得通吗?或者你需要一个IE9的后备方案吗?它有,也没有:)它完全符合我的要求,这很好;我猜,如果我需要将此应用于同一类型的元素(myButton),但使用不同的颜色(即蓝色按钮逐渐变淡为浅蓝色,红色/黄色/绿色逐渐变淡),我只需要在将来复制/粘贴一些代码即可:/不需要ie回退,这都是办公室的东西,找不到ie