【发布时间】:2017-01-18 18:16:48
【问题描述】:
我正在尝试隐藏不在过滤用户列表中的用户。
为此,我正在使用此代码
_.each(users, function (user) {
var display_type = filtered_users.hasOwnProperty(user.email)? "block" : "none";
$("label[for='" + user.email + "']").css({"display":display_type});
});
users 是所有用户对象的列表,filtered_users 是过滤用户的电子邮件列表。
我有大约 1000 个或更多的用户可供过滤。似乎$("label[for='" + user.email + "']").css({"display":display_type}) 操作花费了太多时间。
HTML:
<label class="checkbox" for="user1@gmail.com">
<input type="checkbox" name="user" value="user1@gmail.com"> Cordelia Lear (cordelia@zulip.com)
</label>
<label class="checkbox" for="user2@gmail.com">
<input type="checkbox" name="user" value="user2@gmail.com"> Cordelia Lear (cordelia@zulip.com)
</label>
谁能解释$("label[for='" + user.email + "']").css({"display":display_type}) 的复杂性是什么?有什么方法可以即兴发挥吗?
【问题讨论】:
-
.css()不应该是这里的瓶颈。您的users列表有多长? -
大约 1000 个或更多用户。
-
可以添加一些用户html吗?
-
添加了 html 示例。
标签: javascript jquery css jquery-selectors time-complexity