4

我有这样的代码

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

4

2 回答 2

14

根据jQuery FAQ,检查length属性:

if ($('.widget-' + widget.id).find('.user').length) {
    // it exists
}
于 2012-09-14T11:15:01.340 回答
3

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

于 2012-09-14T11:15:10.607 回答