将JQuery .load()转换为变量或隐藏元素

时间:2010-11-23 20:08:03

标签: javascript jquery

我将数据从一个页面的一部分拉到另一个页面以构建菜单。我需要将数据拉入隐藏的元素或变量,因为我现在最终得到了一个重复的菜单。我的动态飞出了静态<ul><li>。菜单由这些菜单构成。

这是我到目前为止所做的:

<script type="text/javascript">
$(document).ready(function(){
    $('div.ms-quickLaunch').replaceWith('<div id="hierarchy" style="border:solid 1px white; width:0px; visibility:hidden"></div>');
    });

$(function(){
            $('#hierarchy').load('http://wwcshare/icenter/Pages/wwcMenuContent.aspx #menuContent',
                function(){
                    $(this).menu({
                        autoShow: true,
                        content: $(this).html(),
                        backLink: false,
                        crumbDefaultText: ' '
                    });
                });         
            });
</script>

除了我的菜单不再放在它所属的位置之外,这是有效的。它位于页面顶部,而不是#hierarchy div


这是我基于答案之一的替代尝试:

$(function(){    
            $.get('http://wwcshare/icenter/Pages/wwcMenuContent.aspx', function(data){ // grab content from another page
                contentIwant = data.find("#menuContent");
                $('#hierarchy').menu({
                    autoShow: true,
                    content: contentIwant,
                    backLink: false,
                    crumbDefaultText: ' '
                });
            });
        });

2 个答案:

答案 0 :(得分:5)

$ .get()比$ .load()

更适合您的目的

使用$ .get()可以在将数据加载到页面之前处理数据

答案 1 :(得分:3)

加载的元素是否隐藏无关紧要。如果它存在于DOM中,那么您可以加载它。

首先确保通过CSS隐藏元素:

#element{display:none;}

在将内容加载到jQuery中时,使用jQuery隐藏元素:

$('#holder').hide().load('mypage.php');

希望这可以帮助你!

W上。