当img src为空时使用jquery隐藏父元素

时间:2013-01-14 21:11:43

标签: jquery hide element parent

生成的html:

<div class="fp-thumbnail"> <img src="" /></div>

对我来说这应该隐藏div:

$('div').has('img[src=""]').addClass('hide');

Css(不确定是否需要):

.hide{display:none !important;}

更新:它确实适用于js小提琴 - http://jsfiddle.net/dHMk4/但不在网站上。

更具体一点:我想隐藏整个div而不仅仅是图像。

第二次更新:所给出的解决方案在实践中没有比我现有的更好,所以我采用了不同的方式。对于那些至少尝试过的人,感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

$("img[src='']").parent(".fp-thumbnail").addClass("hide");

http://jsfiddle.net/PQcZq/

答案 1 :(得分:1)

你可以尝试这种方法

var $img = $('img');       // Cache the images

$img.each(function(){      // Loop over multiple image tags
   var $this = $(this);    
  if( $this.attr('src') === ''){      // If src is empty
      $this.closest('div.fp-thumbnail').hide();  // Hide the corresponding parent
  }
});

如果您只想为特定图片执行此操作,可以删除.each loop并指定图像的特定选择器。