2010-05-22 83 views
0

我想加载一个<div>到另一个<div>只使用jquery函数在同一页上的内容。但是当函数触发时,它会将整个<HTML>文档加载到指定的<div>中。任何想法为什么会这样做?我的代码如下:Jquery加载()加载超过我想要

的Jquery:

function button1() { 
    $('#sidebar-content').fadeOut(function() { 
     $(this).load('#button1').fadeIn(); 
    }); 
} 
function button2() { 
    $('#sidebar-content').fadeOut(function() { 
     $(this).load('#button2').fadeIn(); 
    }); 
} 

HTML:

<div id="content-holder"> 
    <div id="main-content" class="float-holder"> 
     <div id="inner"> 
      <h1>BRAND TRUTH</h1> 
      <div id="flashcontent"> 
       <div id="button1"> 
        <div id="content"> 
         <h1>Brand Truth</h1> 
         <p>What this basically means is our way of working, the process involved by both ourselves and our client.</p> 

         <p>When the truth wheel process is followed, the end result is so much stronger.</p> 
        </div> 
       </div> 
       <div id="button2"> 
        <div id="content"> 
         <h1>Button 2 Content</h1> 
         <p>Some other content</p> 

         <p>Some other content x2</p> 
        </div> 
       </div> 
      </div> 
      <script type="text/javascript"> 
       // <![CDATA[ 

       var so = new SWFObject("working.swf", "working", "400", "400", "9", "#FFFFFF"); 
       so.write("flashcontent"); 

       // ]]> 
      </script> 

     </div> 
     <div id="sidebar"> 
      <div id="sidebar-content"> 
       Replace Content Here! 
      </div> 
     </div> 
    </div><!-- end #main-content --> 
</div><!-- end #content-holder --> 

回答

5

.load()是加载通过AJAX的远程网页的功能,你想要的是用.html(),这样:

function button1() { 
    $('#sidebar-content').fadeOut(function() { 
     $(this).html($('#button1').html()).fadeIn(); 
    }); 
} 
function button2() { 
    $('#sidebar-content').fadeOut(function() { 
     $(this).html($('#button2').html()).fadeIn(); 
    }); 
} 

.html()没有参数获取html里面,所以我们从按钮<div>得到它,然后.html(string)设置html里面,我们正在做的结果。