Javascript jQuery document.ready已激发,但元素不是';找不到

Javascript jQuery document.ready已激发,但元素不是';找不到,javascript,jquery,firefox,Javascript,Jquery,Firefox,我有一个问题只发生在特定的计算机上(FFX 3.6.13、Windows 7、jQuery 1.4.3)。 有时会激发document.ready,但在尝试获取元素以附加事件处理程序时,这些元素不存在 代码是这样的: $(function(){ window.initStart = true; $("#id_of_element").click(function()...); window.initEnd = $("#id_of_element"); }); window.i

我有一个问题只发生在特定的计算机上(FFX 3.6.13、Windows 7、jQuery 1.4.3)。 有时会激发document.ready,但在尝试获取元素以附加事件处理程序时,这些元素不存在

代码是这样的:

$(function(){
   window.initStart = true;
   $("#id_of_element").click(function()...);
   window.initEnd = $("#id_of_element");
});
window.initStart/End用于调试,有时此代码运行正常,但有时window.initEnd只是一个空jQuery集(长度==0)。 这意味着document.ready总是被激发,但有时它在元素可用之前被激发

有人有这个问题吗?问题可能是什么?

有一个示例演示了如何感知某些dom元素何时可用

我也知道这是一个特定于版本的问题,但是如果您使用的是Jquery 1.5,那么这里的内容将非常有用。

有一个示例演示了如何感知某些dom元素何时可用


我也知道这是一个特定于版本的问题,但是如果您使用的是Jquery 1.5,那么这里的内容将非常有用。

您可以尝试解决这个问题的一种方法是使用.live而不是.click。下面的代码

$('#idOfDiv').live('click', function() { doStuff(); });
一旦将输入函数添加到页面上,就会将其附加到id为“idOfDiv”的页面上所有内容的单击事件。尽管.click会立即执行,但无论div何时进入页面,都应将其附加


干杯

您可以尝试绕过此问题的一种方法是使用.live而不是.click。下面的代码

$('#idOfDiv').live('click', function() { doStuff(); });
一旦将输入函数添加到页面上,就会将其附加到id为“idOfDiv”的页面上所有内容的单击事件。尽管.click会立即执行,但无论div何时进入页面,都应将其附加


干杯

这并不能解释为什么会发生这种情况,但您是否尝试过将脚本放在文档末尾?它只针对一台计算机?那么很可能是电脑的故障,而不是你的代码。你能分享你的代码吗?所以任何人都可以在文档底部的结束体标记之前测试您的javascript?这是最好的做法,把它放在那里,以绕过这样的事情!您还可以尝试将document.ready更改为$(window.load({});代码在头部,它只发生在一台计算机上。它没有解释为什么会发生这种情况,但您是否尝试过将脚本放在文档末尾?它只针对一台计算机?那么很可能是电脑的故障,而不是你的代码。你能分享你的代码吗?所以任何人都可以在文档底部的结束体标记之前测试您的javascript?这是最好的做法,把它放在那里,以绕过这样的事情!您还可以尝试将document.ready更改为$(window.load({});代码在大脑中,它只发生在一台计算机上。我知道这一点,代码很简单,不应该制造问题。这是在特定机器上有时发生的事情,我唯一想知道的是它是否会发生在其他计算机上。我知道这一点,代码很简单,不应该制造问题。这是在特定的机器上有时会发生的事情,我唯一想知道的是它是否会在其他计算机上发生。