質問する前に、この jsFiddle を参照してください: http://jsfiddle.net/AxGHA/3/
私は基本的に float: left; を削除したいと思います。jQuery を使用して div 内に画像が存在しない場合、H2およびPタグの StyleSheet 属性。何か案は?
ありがとう!
質問する前に、この jsFiddle を参照してください: http://jsfiddle.net/AxGHA/3/
私は基本的に float: left; を削除したいと思います。jQuery を使用して div 内に画像が存在しない場合、H2およびPタグの StyleSheet 属性。何か案は?
ありがとう!
あなたが使用することができ: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でスタイルを設定します。
あなたはこれを行うことができます
$(".section").each(function() {
var hasImage = $(this).children("img").length != 0;
if (!hasImage) {
$(this).find("h2,p").css("float", "none");
}
});
更新されたjsFiddleを確認してください
if(!$('div.section img').length) {
$('p, h2', 'div.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を見ることができないことに注意してください。私はあなたが説明したことに直接答えました。
$(document).ready(function(){
if ($("div.section").find("img").length == 0){
$("h2.section, p.section").css("float", "none")
}
});