2012-04-19 8 views
1

와 온로드 : http://jsfiddle.net/AxGHA/3/제거 CSS 스타일은 jQuery를

나는 기본적으로 플로트를 제거 할

: 왼쪽; H2의 스타일 시트 속성 태그 IF div 내에 jQuery가있는 이미지가 없습니다. 어떤 아이디어?

감사합니다.

+0

@simchona : CSS를 사용하여 작동 시키려고했는데 작동하지 않습니다. –

답변

7

당신은 내가 아래 예제 코드를 수행 한 :not:has 사용할 수 있습니다 대신 :

http://jsfiddle.net/voigtan/AxGHA/6/

.section에 CSS 클래스를 추가하고 CSS에서 원하는 방식으로 스타일을 지정합니다.

+0

@voigtan : 이것은 실제로 훌륭하지만 어떤 이유인지 그것은 작동하기를 원하지 않습니다. 그리고 h2 요소 안에 오른쪽에 이미지가있는 것을 추가하는 것을 잊었습니다. 요소와 유사한 화살표와 같습니다. 도와 주셔서 정말 감사합니다! –

+1

': has (img)'를': has (> img)'로 변경하면 .section이 이미지의 직접적인 자식인지 알 수 있습니다 : http://jsfiddle.net/voigtan/AxGHA/6/ – voigtan

2
if(!$('div.section img').length) { 
    $('p, h2', 'div.section').css('float', 'none'); 
} 
+0

도움을 주셔서 대단히 감사합니다! –

1
​$(document).ready(function(){ 
    if ($("div.section").find("img").length == 0){ 
     $("h2.section, p.section").css("float", "none")    
    } 
});​ 
+0

도움을 주셔서 대단히 감사합니다! –

2

당신은 밖으로이

$(".section").each(function() { 
    var hasImage = $(this).children("img").length != 0; 
    if (!hasImage) { 
     $(this).find("h2,p").css("float", "none"); 
    } 
}); 

​ 

확인을 할 수있는 업데이트 jsFiddle

+0

도움을 주셔서 대단히 감사합니다! –

1
!​$('.section img​​​​​​​​​​​​​​​​​').length && $('.section h2, .section p').css('float', 'none'); 
1

난 당신이 내가 테스트하고 있지 않습니다 (통지 식으로 뭔가를 할 수 있다고 생각 코드) :

$('h2, p').parent('div').each(function(index, $element) { 
    if (!$element.has('img')) 
     $element.css('float', 'none'); 
}); 

jsfiddle을 어디서 볼 수 없으므로 내가 설명했던 내용에 직접 근거를 두었습니다. 그것에 대해

$(".section:not(:has(>img))").addClass("no-image"); 

와 CSS :

.no-image h2, .no-image p { 
    float: none; 
    width: auto; 
} 

예 : http://jsfiddle.net/voigtan/AxGHA/5/

"> IMG"

+0

도움을 주셔서 대단히 감사합니다! –