私は、CSSをオーバーライドしてHTMLテンプレートを部分的に編集することしかできないサードパーティのプラットフォームを使用しているクライアントのために働いています。Javascriptを追加して変更を加えることもできます。この場合、リストアイテム内の画像として表されるサムネイル画像のサイズに基づいてクラスとIDを追加する必要があります。画像をdivに置き換えて、フィドルを開始しました。
http://jsfiddle.net/dbudell/SYTsP/4/
HTMLは次のとおりです。
<ul>
<li><div class="item item1"></div></li>
<li><div class="item item2"></div></li>
</ul>
そしてCSS。ご覧のとおり、.item1を「縦」の寸法に設定し、.item2を「横の寸法」に設定しました。これらの寸法に基づいてIDに追加したいと思います。
li {
display:inline-block;
margin:5px;
}
.item1, .item2 {
border:1px solid #333;
}
.item1 {
width:100px;
height:200px;
}
.item2 {
width:200px;
height:100px;
}
#fill-portrait {
background:#333;
}
#fill-landscape {
background:#888;
}
これがJQueryコードです。構文的には正しいように見えますが、結果は得られません。問題が何であるかわからない。
var itemWidth = $('.item').width();
var itemHeight = $('.item').height();
if (itemWidth > itemheight) {
$('.item', this).addAttr('id','fill-landscape');
} else {
$('.item', this).addAttr('id','fill-portrait');
}
繰り返しますが、フィドルへのリンクはhttp://jsfiddle.net/dbudell/SYTsP/4/です。