2012-08-25 86 views
1

我有一些塊附加一些html(span)的塊取決於指定函數。如果這個函數完成,我將這個跨度附加到div。但是如果這個函數不執行,我需要追加一些選項。所以,我的問題是如何生活檢查在這個div這個跨度存在?這是我的代碼:如何使用jQuery檢查元素是否爲空

if (...){ 
    $('.info_check').append('<span></span>'); 
} 

...

$('.info_check').on('DOMSubtreeModified',function(){ 
     if($(this).html() == "") { 
      $('#instructions_panel').append('<span>...</span>'); 
     } 
    }); 

心中已經嘗試用:empty和它的ALOS不工作...

+0

'$。先後( '選擇')'或'$。孩子()length'。 –

+0

$('。info_check')。val()==''; – Pluda

回答

1

嘗試if($(this).children('span').length==0)

+0

你真的不需要'== 0'部分,只要'!$ this.children()。length()' –

+0

好點;)它只是說字面上它的功能 –

+0

它不起作用,這跨度是由ajax添加dinamicly,所以我需要檢查它的實時,這種方式改變任何東西 – Lukas

3
if ($(this).is(':empty')) {...} 

或:

if (!$(this).has('span')) {...} 

或者只是:

if (!$(this).children().length) {...} 
+0

我在想有一個'$ .is()'方法。這麼多選擇器......':)' –

+0

它不起作用,這個跨度是通過ajax增加dinamicly,所以我需要現場檢查它,這種方式改變任何東西 – Lukas

+0

有沒有這樣的元素的生活檢查,你會有在事件上做或者使用setInterval,這會有點貴。它看起來像你在'DOMSubtreeModified'上做這個事情,還有一個'onDOMnodeInserted'事件等等。 – adeneo

相關問題