关于jquery加载顺序及输出结果的问题

[code="java"]

alert($("#test").length); $(document).ready( function (){ alert($("#test").length); });




[/code]

上面的这段代码,只是我挑出来的一部分,我测试的时候在IE下面,都可以正常显示(两个alert都是输出1),但是换到火狐,chorme下面都是第一个输出0,第二个输出1.

因为项目中用到了直接进入到js代码就进行运算的操作,不是$(document).ready()之后再运行.
求给解决方案. 还有这里加不加defer都是一样的结果! 已经纠结了一个晚上了!

看了网上很多的文章,好像都是直接取都取不到值,都需要在$(document).ready()里面才能取到,难道没有解决方法了吗?

只有ie支持defer

能说出为什么 不放在ready的理由吗。
感觉你都已经知道问题的原因了,也知道不同浏览器加载JS及执行方式的不同。还知道READY方法能屏蔽这些问题,什么 不用这个方法呢

你用的ie几?我的ie7打印的是0,1.如果你想要1,1的结果可以把script放在后面执行:



alert($("#test").length); $(document).ready( function (){ alert($("#test").length); });