Javascript 在页面中完全隐藏元素的最有效方法是什么?
形势Javascript 在页面中完全隐藏元素的最有效方法是什么?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,形势 我有很多我想隐藏的BTN 我有点想把他们藏起来,但不是我故意想要的 当我的页面加载时,它们的闪烁速度非常快 我正努力把它们藏起来 我采取的步骤 首先,我使用hide()。我喜欢,但是 我注意到所有这些基站在页面加载时都在闪烁#好奇 第二,我知道了 .css(“显示”、“无”)比hide()快,所以我尝试了一下,仍然得到了相同的结果,可能更快,但我仍然看到闪烁 第三,有些人声称.attr('disabled',true)甚至更快,而且是的我已经试过了,但根本不起作用 .attr('di
- 我有很多我想隐藏的BTN
- 我有点想把他们藏起来,但不是我故意想要的
- 当我的页面加载时,它们的闪烁速度非常快
- 我正努力把它们藏起来李>
- 首先,我使用
hide()。我喜欢,但是 我注意到所有这些基站在页面加载时都在闪烁#好奇
- 第二,我知道了
比.css(“显示”、“无”)
快,所以我尝试了一下,仍然得到了相同的结果,可能更快,但我仍然看到闪烁hide()
- 第三,有些人声称
甚至更快,而且是的我已经试过了,但根本不起作用.attr('disabled',true)
可能已经过时,然后我使用最新的.attr('disabled',true)
.prop('disabled',true)代码>,但仍然不起作用
在页面中完全隐藏元素的最有效方法是什么 您观察到的延迟是浏览器下载和执行脚本所需的时间,您使用JavaScript中的方法在按钮上设置
display:none
,这无关紧要,总是会有延迟(因为浏览器必须下载、解析和执行脚本)
最快的方法是不使用JavaScript,只需在呈现页面时通过CSS(内联或样式表)在按钮上设置display:none
。首先,hide()
和。CSS('display','none')
实际上是等效的。flash的出现是因为在页面初始加载后下载和执行脚本所需的时间
当然,隐藏按钮的最快方法是将它们从HTML标记中完全删除。:)
但是,假设您不想从标记中删除按钮,而可能在某个时候希望以编程方式显示按钮,那么您将希望从一开始就使用CSS隐藏按钮:
button {
display: none;
}
(禁用的
属性只会使用户无法与支持该属性的浏览器上的按钮交互。它不会隐藏元素。)从html5开始,有一个新的隐藏的属性控制元素是否显示。您可能应该将其添加到元素中。这样,在解析html的同时隐藏元素,并且没有延迟
您还可以使用jquery的标准方式,通过使用$(element).attr(“hidden”,“true”)代码>
但是,如果使用jquery添加属性,延迟仍然存在,因为在显示html和加载并运行js之间会有延迟
注意:这只适用于IE 11+,你的意思是说它甚至不存在?为了加快页面加载速度,您可以在不使用javascript的情况下将显示无添加到按钮中。您需要使用js有什么原因吗?我们可以看一个例子吗?如果css应该使用的话,你真的不应该使用JQuery。这意味着,如果你知道你需要在页面加载时隐藏这些项目,为什么不使用css呢?@Druidcwyrm:如果我错了,请纠正我。所有这些我都是新手。我使用jQueryhide()
,因为我希望能够在某一点上显示它们。我甚至不知道哪种方式更好,只要我能触发他们回来,我很高兴。请告知。@rangerover.js“大致相当于调用.css(“display”、“none”)”。因此,使用css设置display none,然后调用.show();使用JQuery.+1谢谢你的提示,我一定会试试的。如果我使用内联css,我还可以在某个时候显示它们吗。我希望您不介意详细说明。@rangerover.js-是的,在元素上切换一个类(如show-I
,并在CSS中添加规则:.show-I{display:block!important;}
这是新的,从未听说过。我可以使用jQuery来实现吗?您可以将其添加到您的答案中吗?稍后人们可能会喜欢您的解决方案。感谢您的直接解释和提示。