一旦你有一个jQuery对象就像你所做的那样:
var car = $('li .car');
我看到代码执行以下操作:
var carChildren = $(car).children('span');
有什么意义?
为什么不在这样的jQuery var car上使用.children
方法呢?
var carChildren = car.children('span');
答案 0 :(得分:1)
简而言之:
没有理由这样做。但它也没有结果。它基本上只是糟糕的做法。所以不要这样做。
<强> TL; DR 强>
如前所述,它毫无意义,没有任何区别。让我们考虑一下这些线路的作用。为了清楚起见,我们将其写在一行:
var car = $('li .car');
var carChildren = $(car).children('span');
与:
相同var carChildren = $($('li .car')).children('span');
没有人会这样做!有人写$(car)
的原因是他们可能会被像$(this)
之类的东西混淆,这些东西经常会在很多时候写下来。
为什么它还能运作?
如果你写$(car)
,jQuery会注意到car
已经是一个jQuery对象并将其替换为它的上下文。但这是一项不必要的任务,可以保存。
这就是说,您也可以直接使用car
作为上下文。
var carChildren = $('span', car);