如果列表项的子图像宽度大于< 667

时间:2015-03-16 18:49:14

标签: jquery html css

我有一个列表标签内的图像列表。我想通过jQuery向list标签添加一个类,如果image(在list标签内)宽度小于667px

jQuery('.basic-gallery li').each(function() {
 if(jQuery(this).children().attr('width') < 700) {
  jQuery(this).parent().addClass('half');
};
});


<ul class="basic-gallery text-center">

<li><img class="attachment-large" width="667" height="1000" src="/example.jpg" style="max-height: 917px; width: auto; height: auto;"></img></li>
<li><img class="attachment-large" width="667" height="1000" src="/example.jpg" style="max-height: 917px; width: auto; height: auto;"></img></li>
<li><img class="attachment-large" width="667" height="1000" src="/example.jpg" style="max-height: 917px; width: auto; height: auto;"></img></li>
<li><img class="attachment-large" width="667" height="1000" src="/example.jpg" style="max-height: 917px; width: auto; height: auto;"></img></li>

怎么可能这样做?

2 个答案:

答案 0 :(得分:0)

jQuery(this).children().attr('width')更改为jQuery(this).children().width

答案 1 :(得分:0)

如果您想要img标签属性的宽度:

$('.basic-gallery li').each(function() {
    if($(this).find('img').attr('width') < 667) {
        $(this).closest('ul').addClass('half');
    };
});

否则,按照上面的@Anri的回答,您可以获得图像的宽度:

$('.basic-gallery li').each(function() {
    if($(this).find('img').width() < 667) {
        $(this).closest('ul').addClass('half');
    };
});