jQuery检测是否定义了.find('')。text()

时间:2012-09-14 11:13:08

标签: jquery string object undefined typeof

我有这样的代码

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

不幸的是,如果$('.widget-' + widget.id).find('.user').text()不存在/未定义,则不会通过。

如何检查是否已定义?

我已经尝试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

2 个答案:

答案 0 :(得分:12)

根据the jQuery FAQ,检查length属性:

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

答案 1 :(得分:1)

如果要查看jQuery对象是否与任何DOM元素匹配,请使用$("whatever").length - 它将非零。