我有看起来像这样的jQuery代码:
var $selected = $('#mySelector');
if (!$selected.length) {
$selected = $('#anotherSelector');
if (!$selected.length) {
// etc.
}
}
真是丑。我想做这样的事情:
var $selected = $('#mySelector') || $('#anotherSelector') || etc.
但是由于即使选择器不匹配,jQuery也会返回jQuery对象,因此此语法不起作用。 jQuery对象(或选择器)是否等效?谢谢!
最佳答案
不知道这是否是最好的方法,但是您可以编写一个小函数来帮助实现此目的。 Live Example
的HTML
<div class="asdf">ad</div>
<div class="asdf">ad</div>
<div class="asdf">ad</div>
<div class="asdf">ad</div>
<div class="asdf">ad</div>
JS
function test(selector){
var list = $(selector);
if (list.length > 0) return list;
else return null;
}
console.log($('.asdfasdf') || $('.asdf'));
console.log(test('.asdfasdf') || test('.asdf'));
关于jquery - 这个||那|| jQuery中的任何样式语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4926894/