4

我提到了这个页面,但我一定做错了:jQuery check if element has specific attribute

基本上,如果图像具有 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 回答