从隐藏的Div加载内容?

这里有一个教程: http : //perishablepress.com/slide-fade-content/

它提供的代码是:

$(document).ready(function(){ // Ajax Slide & Fade Content with jQuery @ http://perishablepress.com/slide-fade-content/ $('.more').live('click',function(){ var href = $(this).attr('href'); if ($('#ajax').is(':visible')) { $('#ajax').css('display','block').animate({height:'1px'}).empty(); } $('#ajax').css('display','block').animate({height:'200px'},function(){ $('#ajax').html(''); $('#ajax').load('http://example.com/slide-fade-content/slide-fade-content.html.html #'+href,function(){ $('#ajax').hide().fadeIn().highlightFade({color:'rgb(253,253,175)'}); }); }); return true; }); }); 

这将从外部文件加载内容,有没有办法做类似的事情,但从同一页面上的隐藏div加载内容?

更换

 $('#ajax').load('http://example.com/slide-fade-content/slide-fade-content.html.html #'+href,function(){ 

 var contentTobeLoaded=$("#myHiddenDivId").html() $('#ajax').html(contentTobeLoaded).fadeIn(600,function(){ 

假设你有id为myHiddenDivId的隐藏div

编辑:从您提供的评论和示例链接,这是我更新的解决方案

1)将每个项目的内容放在一个单独的div中并隐藏它。 这个div应该有唯一的ID 2)当你点击链接时你得到id并从隐藏的div中加载内容。

HTML

   Item 1 Item 1 Item 1 

Content goes here

使用Javascript

 $(".aItemLnk").click(function () { var id = $(this).attr("id").replace(/^.(\s+)?/, ""); var contentTobeLoaded = $("#divItem" + id).html(); $('#ajax').html(contentTobeLoaded).fadeIn(600, function () { //do whatever you want after fadeIn }); }); 

这是工作样本: http : //jsfiddle.net/9xZrq/

fadeO之前有fadeOut的第二个样本: http : //jsfiddle.net/9xZrq/1/

您可以将fadeIn所需的延迟从600更改为1200或1500或任何您想要的延迟

请注意,您需要在链接ID和隐藏的div ID之间建立一些连接,以便您可以确定要显示的div。

我想你的div已经包含了他的数据而你只想展示它,所以你可以使用:

 $('#id_of_your_div').show().fadeIn(); 

或者我误认为你想要将div的内容加载到另一个中? 所以你可以用html()检索他的内容。

如果我理解正确…只需调用你的对象html属性来做到这一点……

 $('#yourdiv').html(); 

这将返回div的内容,无论它是隐藏还是不隐藏。

应该可以做这样的事情(如果我正确地收集你) – http://jsfiddle.net/HTrep/6/

您应该能够非常简单地从隐藏的div加载内容,因为您使用jquery来获取$()方法。

给div一个id,然后使用$('#id-of-element').innerHTML将为你提供隐藏div的内容。