在我问这个问题之前,请参考这个jsFiddle:http://jsfiddle.net/AxGHA/3/
我基本上想要移除浮动:左; H2 和 P 标签上的StyleSheet属性 IF 使用jQuery在div中不存在任何图像。有什么想法吗?
谢谢!
答案 0 :(得分: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中设置它的样式,我希望它看起来如何。
答案 1 :(得分:2)
if(!$('div.section img').length) {
$('p, h2', 'div.section').css('float', 'none');
}
答案 2 :(得分:2)
你可以这样做
$(".section").each(function() {
var hasImage = $(this).children("img").length != 0;
if (!hasImage) {
$(this).find("h2,p").css("float", "none");
}
});
查看更新后的jsFiddle
答案 3 :(得分:1)
$(document).ready(function(){
if ($("div.section").find("img").length == 0){
$("h2.section, p.section").css("float", "none")
}
});
答案 4 :(得分:1)
!$('.section img').length && $('.section h2, .section p').css('float', 'none');
答案 5 :(得分:1)
我认为你可以这样做(注意我没有测试代码):
$('h2, p').parent('div').each(function(index, $element) {
if (!$element.has('img'))
$element.css('float', 'none');
});
请注意,我无法从哪里查看jsfiddle,因此我直接根据您的解释来确定答案。