0

我制作了一个 jquery 函数,假设执行 3 个步骤

  1. onload 它应该替换所有链接文件的属性
  2. 单击它时应将子页面加载到 $("#content")
  3. 再次它应该重新触发将再次替换所有链接的功能

下面的代码工作到 2 个步骤,但不会触发第三步,它应该再次替换所有 url 我认为它也应该替换加载页面的链接?

$(document).ready(function(){
   var base_url = "http://localhost/dolphin/";
   $("a").each(function(e){
   if(this.href == "javascript:void(0)" || 
        this.href == base_url || 
        this.href == base_url + "index.php" || 
        this.href == "javascript:void(0);" || 
        this.href == "javascript:%20void(0)") {

     }else{
       page = 'Javascript:LoadPage(\''+ this.href + '\')';
       this.setAttribute('onclick',page);
       this.setAttribute('href', '#');
     }
   });
});

function LoadPage(url){
   $("#contentarea").load(url, function() {
     //after loading it should call redoIt() but it doesnt.
      redoIt();
   });
}

function redoIt(){
    var base_url = "http://localhost/dolphin/";
    $("a").each(function(e){
       if(this.href == "javascript:void(0)" || 
          this.href == base_url + "index.php" || 
          this.href == "javascript:void(0);" || 
          this.href == "javascript:%20void(0)") {

       }else{
         page = 'Javascript:LoadPage(\''+ this.href + '\')';
         this.setAttribute('onclick',page);
         this.setAttribute('href', '#');
       }
   });
 }
4

1 回答 1

1

你的调用$.load是在一个函数内部,据我所知,你没有在任何地方调用它,所以它没有被执行。把它拿出来,它应该可以正常工作

$("#contentarea").load(url, function() {

//after loading it should call redoIt() but it doesnt.
 redoIt();
});
于 2012-04-13T15:11:10.417 回答