2014-01-23 21 views
0

试图找出在Jquery命令序列中插入条件的方法。 基本上我的观点是我可以保存代码长度。命令序列中的条件

例子:

var first=true; 

if(first){ 
    ap.nextAll("div").first().... 
}else{ 
    ap.nextAll("div").last().... 
} 

,是否可以做这样的事情:

ap.nextAll("div").(first?first():last()).... 

这是我知道,它可以解决: last唯一的例子,但它只是作为一个例子。

感谢Pesulap

+0

什么是你的问题来吗? –

+0

我可能会描述一下,对吧? – Pesulap

+0

[调用JavaScript对象方法与变量]的可能重复(http://stackoverflow.com/questions/6737840/call-javascript-object-method-with-a-variable) – Barmar

回答

1

是的,你可以使用括号记号三元操作

ap.nextAll("div")[first? 'first' : 'last']().... 
+0

这让我大跌眼镜。我正要发表一个矛盾的答案。 – Joost

+0

'第一'和'最后'是函数,所以它可能没有引号? –

+0

不,“first”和“last”是名称函数的jQuery对象的属性。当使用括号时,您将它们放在引号中以获取属性。 – Barmar