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