4

このページを参照しましたが、何か間違ったことをしている必要があります:jQueryは要素に特定の属性があるかどうかを確認します

基本的に、画像にstyle = "float:left"属性がある場合は "img-left"のクラスを追加し、style = "float:right;"の場合は"img-right"のクラスを追加します。私のHTMLは次のようになります。

<img class="content-img" style="float: left;" src="/images/my-img.jpg">

そして、私はそれをこのように見せたいです:

<img class="content-img img-left" style="float: left;" src="/images/my-img.jpg">

これは私が試したことです:

if ($('.content-img').css('float' == 'left')) {
    $(this).addClass('img-left');
}
else {
    $(this).addClass('img-right');
}

これによりJSエラーが発生しますが、理由を特定できません。どんな助けでも大歓迎です。

ありがとう、ボーン

4

2 に答える 2

7

これを次のように単純化することをお勧めします。

$('.content-img').addClass(
    function(){
        var floated = $(this).css('float');
        return floated ? 'img-' + floated : '';
    });

JS Fiddle の概念実証

これはfloatプロパティを取得し、設定されている (真の値を持つ)場合は、変数img-の値と連結された文字列を返します。floated

于 2012-08-24T23:47:00.343 に答える
3

その通りですが、条件にタイプミスがありifます。次のようにする必要があります。

if ($('.content-img').css('float') == 'left') {
    $('.content-img').addClass('img-left');
}
于 2012-08-24T23:46:33.627 に答える