2016-06-10 3 views
0

У меня есть ряд следующих элементов:Сложность скрывается изображение без ЦСИ

<div class="slidetpl"> 
    <img src > 
</div> 

Я хочу, чтобы скрыть .slidetpl, если изображение не имеет источника. Для этого я пробовал следующее:

$('.slidetpl img').each(function() { 
     if (this.src.length == 0) { 
      $(this).parent().hide(); 
     } 
    }); 

Но это не работает.

Может ли кто-нибудь указать мне в правильном направлении или сказать, что я сделал неправильно?

+1

Если у вас есть ответ на вашу проблему, не стесняйтесь проверить один из следующих ответов как тот, который решил вашу проблему;) :) –

ответ

0

Попробуйте это:

$(document).ready(function(){ 
    $('.slidetpl img[src=""]').parent().hide(); 
    $('.slidetpl img:not([src=""])').parent().show(); //Can be removed. 
}); 
+0

op хочет скрыть родителя изображения, а не самого изображения – KWeiss

+0

Спасибо ! Я сделал небольшую корректировку, и он отлично работает – MeltingDog

1

Это делает эффект для меня:

// Start an immediate invocable function expression, to auto 
 
// execute the internal code and isolate the code from the 
 
// outside JS scope. 
 
(function($, window, undefined){ 
 

 
    // Find all the document images and iterate over them. In case you like to 
 
    // to iterate only under slidetpl change the selector from 
 
    // img to .slidetpl img 
 
    $('img').each(
 
    function() { 
 

 
     // If the empty string is equal with the src attribute of 
 
     // of the current item in the iteration 
 
     if ('' === $(this).attr('src')) { 
 

 
     // Then hide the current item in the iteration. 
 
     $(this).hide(); 
 
     } 
 
    } 
 
); 
 
})(jQuery, this)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img src="" /> 
 
<img src /> 
 
<img src="http://www.iconsdb.com/icons/preview/icon-sets/web-2-orange-2/running-man-xxl.png" />

Примечание, приведенный выше код будет скрывать все изображения с пустыми src атрибут. Если вам нравится скрывать только дочерние элементы .slidetpl, вы можете изменить селектор от img до .slidetpl img.

0

Вы очень близки, просто отсутствует правильный синтаксис this см ниже:

if ($(this).attr('src').length == 0) 

Смотреть демонстрационную here.

Смежные вопросы