2012-04-19 105 views
1

onLoad的調用之前,我問的問題是指這個的jsfiddle:http://jsfiddle.net/AxGHA/3/刪除CSS樣式與jQuery

我基本上要刪除浮動:左; StyleSheet屬性H2P標籤IF沒有圖像存在於div與jQuery。有任何想法嗎?

謝謝!

+0

@simchona:我嘗試使用CSS來使它工作,並且不起作用。 – 2012-04-19 16:43:05

回答

7

可以使用:not:has我做了下面的示例代碼:

$(".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」相反:

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

我在.section中添加了一個css類,並在CSS中設置了它的外觀樣式。

+0

@voigtan:這實際上很棒,但由於某種原因,它不想工作。而且,我忘了在h2元素中添加一個右邊的圖像,就像是一個類似元素的箭頭。非常感謝你的幫助! – 2012-04-19 17:08:35

+1

你可以將':has(img)'改成':has(> img)'來查看.section是否有圖像的直接子對象:http://jsfiddle.net/voigtan/AxGHA/6/ – voigtan 2012-04-19 17:12:53

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

非常感謝您的幫助! – 2012-04-19 17:09:36

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

非常感謝您的幫助! – 2012-04-19 17:09:27

2

你可以做到這一點

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

​ 

退房更新jsFiddle

+0

非常感謝您的幫助! – 2012-04-19 17:09:18

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,因此我直接根據您解釋的內容來回答問題。

+0

非常感謝您的幫助! – 2012-04-19 17:08:55