jQuery将DOM元素分配给对象
问题描述:
在给定的场景中,我将如何将DOM对象分配给变量并调用它?在这个例子中,我试图获得“nav”元素的高度。现在它没有返回任何值,我想这是因为元素在文档准备好之前被调用。jQuery将DOM元素分配给对象
$(document).ready(function(){
gbe.init();
});
var gbe = {
navigation : $("nav"),
init : function() {
gbe.nav.init();
},
nav : {
init : function() {
navHeight : gbe.navigation.height();
console.log(gbe.nav.init.navHeight, gbe.navigation.height());
}
}
};
答
尝试把你的$(document)。就绪下面的定义GBE。只有console.log语句中的第二个条目才有效。
答
$(document).ready(function() {
var $nav = $("nav");
var height = $nav.height();
console.log(height);
});
您是否正在尝试揭示模块模式?上面的代码是快速和肮脏的方式。
FIDDLE:http://jsfiddle.net/jhZSG/
答
恕我直言,你应该通过jQuery将元素(S)的初始化函数,并把它。就绪()这样的:
$(document).ready(function(){
gbe.init($("nav"));
});
var gbe = {
init : function(el) {
gbe.navigation : el,
gbe.nav.init();
},
nav : {
init : function() {
navHeight : gbe.navigation.height();
console.log(gbe.nav.init.navHeight, gbe.navigation.height());
}
}
};
使用了'。 ready()',所以DOM准备就绪,因为它会得到... – 2012-07-25 21:47:16