简体   繁体   English

jQuery将一个div的内容移动到另一个append()中不起作用

[英]jQuery move contents of one div into another append() not working

I am working on a tabbed layout using Bootstrap 2.3.2 in Joomla and due to the way Hikashop generates a product layout, I have an outer "tab-content" div and when putting in a product description, the result is an inner "tab-content div within a "tab-pane" with a single nav at the top of the page. I am attempting to move the inner "tab-pane"s to the outer "tab-content" via jQuery using append() so that the nav will function correctly. Needless to say this is not working. The nav is not functioning period, and the content that has been appended is getting duplicated. 我正在Joomla中使用Bootstrap 2.3.2来处理选项卡式布局,由于Hikashop生成产品布局的方式,我有一个外部的“选项卡内容” div,并且在放入产品说明时,结果是一个内部的“选项卡” -content div在页面顶部具有单个导航的“选项卡窗格”中,我尝试通过jQuery使用append()将内部“选项卡窗格”移动到外部“选项卡内容”,以便导航将正常运行,不用说这是行不通的。导航无法正常运行,并且已添加的内容正在重复。

here is what my code looks like: 这是我的代码:

<ul class="nav nav-tabs">
    <li><a href="#home" data-target="#home" data-toggle="tab">Home</a>
    </li>
    <li><a href="#profile" data-target="#profile" data-toggle="tab">Profile</a>
    </li>
    <li><a href="#messages" data-target="#messages" data-toggle="tab">Messages</a>
    </li>
    <li><a href="#settings" data-target="#settings" data-toggle="tab">Settings</a>
    </li>
</ul>

<div id="outer" class="tab-content">
    <div class="tab-pane active" id="home">
        <div id="inner" class="tab-content">
            <div class="tab-pane" id="profile">...</div>
            <div class="tab-pane" id="messages">...</div>
        </div>
    </div>
    <div class="tab-pane" id="settings">...</div>
</div>

<script>
    jQuery(document).ready(function() {
        jQuery("#inner").append("#outer");
    });
</script> 

and here is the desired outcome: 这是预期的结果:

<div id="outer" class="tab-content">
    <div class="tab-pane active" id="home">...</div>
    <div class="tab-pane" id="profile">...</div>
    <div class="tab-pane" id="messages">...</div>
    <div class="tab-pane" id="settings">...</div>
</div>

使用appendTo

jQuery("#inner").children().appendTo("#outer");

try this: 尝试这个:

  jQuery(document).ready(function() { jQuery("#inner").appendTo('#outer'); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <div id="outer" class="tab-content"> <div class="tab-pane active" id="home"> --start inside #home -- <div id="inner" class="tab-content"> <div class="tab-pane" id="profile">#profile</div> <div class="tab-pane" id="messages">#messages</div> </div> --end inside #home -- </div> <div class="tab-pane" id="settings">--inside #settings --</div> -- outside tab-pane -- </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM