2012-11-28 43 views
1

我想檢查div是否爲空,如果是這樣我想給它添加文本'空'。檢查是否div是空的問題

我在做什麼錯了?謝謝!

js Fiddle File

HTML

<div class="staff-row"> 
    <img alt="" src="foo.jpg" /> 
    <h2>Lorem Ipsum! FOOO!</h2> 
    <p>Lorem Ipsum</p> 
    </div> 
    <!-- eo : staff-row --> 

jQuery的

$('.staff-row').mouseenter(function() { 
    if ($('.staff-row').is(':empty')) { 
     $('.staff-row').text('empty'); 
    } else { 
     $('.staff-row').text('full'); 
    } 
});​ 
+1

[_ONE重要的是要注意到:空(和:父母)就是那個小孩子ts包括文本節點._](http://api.jquery.com/empty-selector/) – Andreas

回答

4

您需要使用$(this)代替$('.staff-row'),也make sure there is not space between div opening and closing tag.

Live Demo

$('.staff-row').mouseenter(function() { 
    if ($(this).is(':empty')) { 
     $(this).text('empty'); 
    } else { 
     $(this).text('full'); 
    } 
});​ 

您可以使用if($.trim($(this).text()).length == 0),如果你想擁有

div標籤之間的空間Live Demo

$('.staff-row').mouseenter(function() { 
    if($.trim($(this).text()).length == 0){ 
     $(this).text('empty'); 
    } else { 
     $(this).text('full'); 
    } 
});​ 
+0

這工作!我仍在學習如何使用'this'。謝謝@adil – breezy

+0

如果'div'內有空格怎麼辦?有沒有辦法解決這個問題? – breezy

+0

我已經爲div標籤之間的空間添加了解決方案。 – Adil