2012-07-24 40 views
1

有什麼可能是一個簡單的問題,在是否使用父和每個語句試圖讓這個家長在每個語句

我有一些HTML,看起來像:

<li><span class="image"><img src="img1.jpg"></span></li> 
<li><span class="image"><img src="img2.jpg"></span></li> 
<li><span class="image"><img src=""></span></li> 
<li><span class="image"><img src=""></span></li> 

用我的JQuery我在每個語句中有一個if語句如下:

$(".image").each(function() { 
    var $imgsrc = $(this).find("img").attr("src").length; 

    if($imgsrc < 1) { 
     $('.image').parent().addClass('nodisplay'); 
    }  
}); 

我想添加類「nodisplay」被添加到<li>的其圖像沒有SRC。

問題是上面的代碼影響所有<li>的。如果我將$('.image')替換爲$('this'),則它不再起作用。

我也試過closest('li')而不是parent()無濟於事。

任何意見將不勝感激!由於

+2

你打開一個跨度和你關閉一個div? – fcalderan 2012-07-24 07:13:50

+0

哎呀 - 我的錯誤在抄錄 – MeltingDog 2012-07-24 07:14:28

回答

3

試試這個:

$('li').has(".image img[src='']").addClass('nodisplay'); 

Live demo

+0

哇 - 如果我以前知道這個... – MeltingDog 2012-07-24 07:17:51

2

你應該寫的,而不是$(this)$('this')