我遇到一个问题,无论我在参数中放入什么都会触发$()。ready,这意味着它在页面准备好之前实际触发了。我正在使用与EXT.NET混合的ASP.NET,并希望实现jQuery以增加一些东西。正如描述所说,如果我把" 123"进入参数它反正会告诉我alart()。这是代码正在运行:
$("123").ready(function () {
var $kids = $("x-column-inner").children();
alert($(".x-column-inner").height());
});
结果" .x-column-inner"是null,因为它还没有完成编译页面并且已经在执行javascript。
答案 0 :(得分:3)
.ready
方法完全忽略选择器中的内容。只有在浏览器触发DOMContentLoaded
事件时才会触发它。
但请注意,DOMContentLoaded可能会在图像和css表加载完成之前触发,从而导致高度和宽度测量不准确。如果这对您来说是个问题,则需要使用$(window).load();
如果DOMContentLoaded
事件已被触发,则立即执行就绪回调。
答案 1 :(得分:1)
您错过了第一个选择器中的句号:
$(function () {
var $kids = $(".x-column-inner").children();
alert($(".x-column-inner").height());
});