【发布时间】:2016-10-19 23:46:58
【问题描述】:
语法问题;是否可以执行以下操作:
var home_page_feed;
var videos = $get_utoob_videos;
for each(video in videos) {
if(video.special_interests)
$(home_page_feed).prepend(video.thumbnail);
else
$(home_page_feed).append(video.censornail);
}
...但是在单个三元运算中,像这样:
for each(video in videos)
$(home_page_feed) .CHAIN.
video.special_interests ?
// true - chain this
.prepend(video.thumbnail) :
// false - chain this instead
.append(video.censornail);
我把 .CHAIN. 作为占位符。是否有一个 jQuery 函数可以通过三元运算分配链接到不完整的语句?我喜欢在语句和操作中使用三元,因为它很简单,因此我们将不胜感激。
回答 感谢@Barmar,他建议使用 eval() 函数,我能够将它包装在三元运算中。
$.each(videos, function(i, video) {
eval ("$(home_page_feed)" +
((video.special_interest) ?
".prepend(video.thumbnail)" :
".append(video.censornail)"
)
);
});
【问题讨论】:
-
这些 sn-ps 都不是有效的 javascript 开头 - 即使没有这个 .CHAIN。神秘物品 - 但不,从我能辨别出你的代码的一点点来看,你不能这样做
-
第一个在右全局下有效;但是,关于这个问题,您不需要运行它。
-
for each- 这在某种类型的 javascript 中有效吗?我一定是中风了,因为我根本记不起这个语法!! -
@JaromandaX 哈哈
-
感谢@squint - 我真的很关心我的健康:p
标签: javascript jquery chaining ternary