我不知道这是否可能......
我的标题中有一个div#branding
。标题内部有多个其他元素。
我希望header
的所有孩子的不透明度为0.3但不是#branding div。
我怎样才能做到这一点?
我尝试使用以下部分,但这不起作用。
$('header div:not(#branding)').css('opacity', '0.3');
感谢您的帮助。
答案 0 :(得分:3)
试试这个:
$('div#header').children().css('opacity', '0.3');
它选择div#header的所有子节点,并仅对它们应用不透明度。 (http://api.jquery.com/children/)
答案 1 :(得分:1)
它应该,尝试:
$('header div').not('#branding').css('opacity', '0.3');
修改强>
至于继承不透明度 - 儿童不能比父母更不透明,但可能更多
答案 2 :(得分:0)
根本不可能。您必须具有所需的每个子元素的不透明度。试试这个
$('headerSelector').children(":not(#branding)").css('opacity', '0.3');
答案 3 :(得分:0)
每当我遇到这个问题时,我只是尽可能简单地为我做,也许不是最优雅的解决方案,但我只是创建了一个包装器,即:
<div id="headerWrapper">
<div id="header">...</div>
<div id="branding"></div>
</div>
然后,这只是一个用css“position:relative”和“z-index”属性来定位品牌的问题。它将不再是标题的子节点,但它在包装器内部,所以如果你想听特定的事件,它仍然是可能的。
我希望这会有所帮助。