2015-02-09 79 views
1

我想在jquery中写入:if .mainbody包含孩子.post-123,然后将.mainbody的高度更改为300px。如果元素包含特定的子元素,则更改样式

我试图做写这样

if ($('.mainbody').contains('.post-123')) { 
    $(".mainbody").css({ 'height': "300px" }); 
} 

if($('.mainbody .post-123')).length > 0){ 
    $(".mainbody").css({ 'height': "300px" }); 
} 

但它没有工作,我做了什么错?

谢谢!

+0

更改包含'x.has('。post-123')' – 2015-02-09 18:03:52

回答

0

使用has代替

$('.mainbody:has(.post-123)').css('height', '300px') 

FIDDLE

+0

非常感谢! – fala 2015-02-09 18:20:24

0

使用 '有' 而不是 '包含'。

contains:将返回true或false

has:从匹配元素的子集构造一个新的jQuery对象。

$('.mainbody:has(.post-123)').css('height', '300px'); 
相关问题