Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测元素在DOM中出现的确切时刻_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 检测元素在DOM中出现的确切时刻

Javascript 检测元素在DOM中出现的确切时刻,javascript,jquery,dom,Javascript,Jquery,Dom,是否可以在页面加载时检测DOM中存在元素的确切时刻 上下文:在页面加载时,我使用jQuery隐藏页面的一个元素(即,如果JavaScript可用,我想隐藏div),但在internet连接不良时,您会在面板消失之前看到它一秒钟左右 我想在元素写入DOM后立即隐藏它,但我不知道如何隐藏,甚至不知道是否可能。我不想应用set display:hidden,因为我想在JavaScript不可用时显示面板 短暂性脑缺血发作 马特 修订:我正在使用jQuery-并且我的代码是从$(document).re

是否可以在页面加载时检测DOM中存在元素的确切时刻

上下文:在页面加载时,我使用jQuery隐藏页面的一个元素(即,如果JavaScript可用,我想隐藏div),但在internet连接不良时,您会在面板消失之前看到它一秒钟左右

我想在元素写入DOM后立即隐藏它,但我不知道如何隐藏,甚至不知道是否可能。我不想应用set display:hidden,因为我想在JavaScript不可用时显示面板

短暂性脑缺血发作

马特


修订:我正在使用jQuery-并且我的代码是从$(document).ready()中执行的。

我打算提出如下建议,但我认为它不起作用:

<noscript>
  <style type="text/css">
     div.myblock { display: visible; }
  </style>
</noscript>

div.myblock{显示:可见;}
这就是
标签的作用

<noscript>This site works better with Javascript enabled.</noscript>
此站点在启用Javascript的情况下工作得更好。

只有禁用脚本时,它才会显示内容。如果启用Javascript,则不会显示内容。这听起来正是您要寻找的行为。

将javascript放在元素后面,这将最小化元素可见的时间:

<div id="CrouchingTiger">HiddenDragon</div>
<script type="text/javascript">
document.getElementById('CrouchingTiger').style.display = 'none';
</script>
HiddenDragon
document.getElementById('CrouchingTiger')。style.display='none';

在加载页面时,只要对脚本的结束标记进行了分析,脚本就会运行。

尝试使用document ready事件而不是Load事件,因为即使已加载DOM,加载事件也可能需要时间触发

如果你真的很绝望,试试这个:

<div id="divToHide">

</div>

<script>document.getElementById('divToHide').style.display = 'none';</script>

document.getElementById('divToHide').style.display='none';

如果浏览器看到上面这样的脚本标记,它将立即运行JavaScript。

使用$(document).ready()代替页面加载。它在加载DOM之后但在加载页面内容之前运行

  $(document).ready(function() {
      // code goes here
  });

允许您在加载元素后立即运行代码。特别适用于动态加载的元素。(我写了这个插件。)

我喜欢这个答案——应该有。在我的脑海里,我有一个疑问,关于这个被贬值的问题。。但我可能错了。据我所知,短期内不会贬值。它也是HTML5的一部分。就编码策略而言,这似乎是唯一的方法。一开始我不喜欢它,因为我不想在代码主体中添加脚本标记。是的,在主体中添加脚本不是我首先想要的,但这是在文档完全加载之前运行脚本的唯一方法。