我有这样的代码
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
。
答案 0 :(得分:12)
根据the jQuery FAQ,检查length
属性:
if ($('.widget-' + widget.id).find('.user').length) {
// it exists
}
答案 1 :(得分:1)
如果要查看jQuery对象是否与任何DOM元素匹配,请使用$("whatever").length
- 它将非零。