【发布时间】:2017-12-06 14:23:37
【问题描述】:
鉴于这个简单的ul:
<ul class="dummy">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
还有这个 jQuery 代码:
var container = $('.dummy');
var active = container.children('li.active') || container.children('li:first-child')
console.log(active.html());
根据我对在变量赋值中使用|| 的了解,我希望应该选择第一个li,因为没有li.active(另请参阅this thread)
相反,在console.log 中我得到undefined 而不是One:似乎从未评估过container.children('li:first-child')
我哪里错了?这是JSFiddle...非常感谢!
【问题讨论】:
-
查看 AND、OR 操作:: stackoverflow.com/questions/10687131/…
-
尝试像这样编写内联:
(container.children('li.active') || container.closest('li') ? true : false) -
container.children('li.active')永远不会为空/未定义,因为它始终是一个 JQuery 对象,它是否有任何元素是另一回事。
标签: jquery