2012-09-14 36 views
3

我有這樣一個代碼jQuery的檢測是否.find(」「)的.text()被定義或不

if ($('#bar #username').text()!=$('.widget-' + widget.id).find('.user').text()) 
{ 
//do something 
} 

不幸的是,它不如果$('.widget-' + widget.id).find('.user').text()不存在/ underfined經過。

如何檢查它是否被定義?

我試過if (typeof $('.widget-' + widget.id).find('.user') === "undefined")來檢查它是否被定義或沒有,但它並沒有幫助,因爲

alert (typeof $('.widget-' + widget.id).find('.user'))顯示Object

alert (typeof $('.widget-' + widget.id).find('.user').text())顯示String

回答

10

the jQuery FAQ,檢查length屬性:

if ($('.widget-' + widget.id).find('.user').length) { 
    // it exists 
} 
1

如果你想看到一個jQuery對象是否匹配任何DOM元素,使用$("whatever").length - 這將是非零。

相關問題