我使用jQuery.load加载HTML模板。在此之后,我试图从每个加载的HTML元素中获取HTML内容。 HTML正在加载,但我无法获取HTML内容。
以下是代码:
var _InterfaceBuilder = function() {
var k45 = new _K45Kit;
var _this = this;
this.build = function(element) {
var error = false;
switch(element) {
case 'loginPanel':
$('#content').load('template/loginPanel.html', _this.localize(element));
break;
//sth else
}
// sth else
};
this.localize = function(section) {
$(".loginPanel.localString").each(function(index) {
console.log($(this).html());
});
//sth else
});
当我把
$(".loginPanel.localString").each(function(index) {
console.log($(this).html());
});
进入firebug控制台,它可以正常工作。有人能帮助我吗?
答案 0 :(得分:5)
$ .load()的第二个参数必须是一旦完成就会被调用的函数。您没有提供函数,而是调用_this.localize(element)的结果。所以基本上,在添加监听器之前调用localize函数,因为它返回undefined,你没有处理程序。
尝试:
$('#content').load('template/loginPanel.html',
function(){
_this.localize(element);
});