Javascript 隐藏没有闪光的元素
我必须隐藏一些包含特定单词的Javascript 隐藏没有闪光的元素,javascript,jquery,css,Javascript,Jquery,Css,我必须隐藏一些包含特定单词的行。我正在使用jQuery中的:contains选择器和.hide()搜索这些行 问题是,这会导致一种令人不快的闪光,在这些行隐藏之前瞬间显示出来 是否有可能减少这种闪烁,或者将一些事件绑定到文档中,这些事件将在创建时分析每个DOM元素,如果满足某些要求,则不会呈现这些元素?大多数模板引擎都会按照您的要求执行,允许您添加一些逻辑来决定是否首先创建元素 另一种选择是从一开始就隐藏表(在CSS显示:none),运行jQuery查找要隐藏(甚至删除)的行,然后使用jQuer
行。我正在使用jQuery中的:contains
选择器和.hide()
搜索这些行
问题是,这会导致一种令人不快的闪光,在这些行隐藏之前瞬间显示出来
是否有可能减少这种闪烁,或者将一些事件绑定到文档中,这些事件将在创建时分析每个DOM元素,如果满足某些要求,则不会呈现这些元素?大多数模板引擎都会按照您的要求执行,允许您添加一些逻辑来决定是否首先创建元素 另一种选择是从一开始就隐藏表(在CSS
显示:none
),运行jQuery查找要隐藏(甚至删除)的行,然后使用jQuery使表可见(使用.show()
)。这种方法的缺点是,如果您有一个未启用JavaScript的访问者,那么它不会正常降级。他们永远看不到桌子
当然,如果没有启用JavaScript,也无法在客户端隐藏行。您必须在服务器端处理它。显示当前正在使用的代码片段如何?因此您希望从一开始就隐藏这些行?对吗?“glitter”是指它们在隐藏之前是短暂可见的吗?您可以通过将代码移到DOMReady事件之外并将其放在结束体标记之前来减少发生这种情况的机会,但是在较慢的浏览器中,您可能仍然会看到FOUC(“glitter”)。完全阻止它的唯一方法是用javascript以外的东西隐藏它,或者隐藏整个表,直到您完成对它的操作为止。