追加/前置不适用于加载?还有一些问题

时间:2011-09-08 11:08:46

标签: javascript jquery

我在JQuery上有append / prepend两个问题。我的代码:

function toselect(f,d){
    $('#workcont').remove('h2').load('pages/' + f + '.html #' + d).prepend('<h2>Some text</h2>');
    calculate();
}

Div on默认为<div id="workcont"></div>

问题:

  1. prepend添加代码一秒钟然后消失,为什么? (不要隐藏!删除)

  2. remove('h2')不会删除前置代码添加的内容。 (如果准备工作的话)这是我的.js文件中的一些功能。

  3. 函数calculate();不适用于已加载的内容。使用live()也行不通。

2 个答案:

答案 0 :(得分:4)

尝试在回调中添加前缀

function toselect(f,d){
    $('#workcont').load('pages/' + f + '.html #' + d,function(){
    $(this).remove('h2').prepend('<h2>Расчет стоимости</h2>');
    $('#workcont').calculate();
});

}

答案 1 :(得分:1)

load有一个回调函数,原因是加载工作异步,因此prepend在加载完成之前添加html,你可以试试这个

function toselect(f,d){   

$('#workcont').remove('h2').load('pages/' + f + '.html #' + d, function(){

  $("#workcont").prepend("your html");
  calculate();

 });

}