1

在我问这个问题之前,请参考这个 jsFiddle:http: //jsfiddle.net/AxGHA/3/

我基本上想删除浮动:左;H2P标签上的 StyleSheet 属性IF使用 jQuery 的 div 中不存在图像。有任何想法吗?

谢谢!

4

6 回答 6

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 中设置我想要的样式。

于 2012-04-19T16:55:28.773 回答
2
if(!$('div.section img').length) {
   $('p, h2', 'div.section').css('float', 'none');
}
于 2012-04-19T16:43:40.280 回答
2

你可以这样做

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

​

查看更新的jsFiddle

于 2012-04-19T16:46:58.017 回答
1
    ​$(document).ready(function(){
    if ($("div.section").find("img").length == 0){
        $("h2.section, p.section").css("float", "none")            
    }
});​
于 2012-04-19T16:43:42.947 回答
1
!​$('.section img​​​​​​​​​​​​​​​​​').length && $('.section h2, .section p').css('float', 'none');
于 2012-04-19T16:49:19.737 回答
1

我认为你可以做这样的事情(注意我没有测试代码):

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

请注意,我无法从我的位置查看 jsfiddle,所以我直接根据您的解释来回答。

于 2012-04-19T16:50:19.847 回答