关于javascript:jQuery:当jQuery对象找不到指定的类选择器时,jQuery会返回什么?

jQuery: What does jQuery return when the jQuery object can't find a specified class selector?

本问题已经有最佳答案,请猛点这里访问。

假设我们有:

1
2
var $letsTestA = $( '.lets-test-a' ),
    $letsTestB = $( '.lets-test-b' );

虽然HTML是:

1
 

(我知道,我遗漏了.lets-test-b)

现在,如果我们尝试调用变量$letsTestB会发生什么?

我确实做了一些测试,我不是在没有先做一些研究的情况下盲目地问一个问题,但我对这看起来如何工作有点困惑......

如果我alert($letsTestA);alert($letsTestB);我从JSFiddle测试时得到的结果与[object Object]相同?

这是我的测试小提琴:https://jsfiddle.net/m6j03423/

此外,我在这里尝试做的是创建一种方法来确定变量的内容是否存在。

在PHP中,我只会编写if (empty($myVar)) { // do action },但JS的工作方式不同。

在JS中,我认为我可以编写if ($letsTestA) { },它应该能够打印变量的结果吗?但是,我仍然得到[object Object]

我错过了什么?

我甚至可以打印jQuery对象的内容吗?

如何测试变量是否包含jQuery对象的真值?

编辑:
不可否认,我确实看到了一些不同的答案说要检查长度,但我不明白这足以将其与我正在做的事情联系起来。


您可以使用对象的.length属性来确定元素是否存在

1
2
3
 if ($letsTestA.length > 0) {
     //element exists
 }

1
2
3
4
5
var $letsTestA = $('.lets-test-a'),
    $letsTestB = $('.lets-test-b');

console.log($letsTestA.length);
console.log($letsTestB.length);
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">