在我的网站上使用Java脚本创建嵌套标签

时间:2015-10-02 作者:user3427486

旁注:我在wordpress中设计的时间只有几个月,不知道还有什么地方或者如何问这个问题,所以我的语言可能有点不准确

我正在Wordpress中使用Jupiter主题创建我的网站,它本质上是一本教科书。其中一章包含我使用Visual Composer前端编辑器上的“tabs”元素创建的内容。但是,需要对内容进行格式化,以便在5个选项卡中的每个选项卡中都有嵌套的选项卡。

显然,Visual Composer中不允许使用此函数(将tabs元素拖到另一个tabs元素中),因此我为每个选项卡创建了类名,并使用javascript将选项卡附加到相应的选项卡中。如果有人能帮助我,告诉我为什么我不能将其他类移到新的选项卡上,我将非常感激。我还试着把标签放在手风琴里,但也失败了。

This method works for the first occurrence of a nested tab, but for the others, the same javascript fails to work.

我需要帮助的页面:Chapter 10

javascript:

//These next few lines relate to the Chapter 10 page
$(\'.tabonecontent\').appendTo($(".tabone").parents(".mk-tabs-pane"));
$(\'.tabtwocontent\').appendTo($(".tabtwo").parents(".mk-tabs-pane"));
$(\'.tabthreecontent\').appendTo($(".tabthree").parents(".mk-tabs-pane"));
$(\'.tabfourcontent\').appendTo($(".tabfour").parents(".mk-tabs-pane"));
$(\'.tabfivecontent\').appendTo($(".tabfive").parents(".mk-tabs-pane"));    

2 个回复
最合适的回答,由SO网友:dswebsme 整理而成

在我进入代码之前,有几件事:

1) 随着您使用WordPress获得更多经验,通过扩展功能(PHP修改)在主题中解决这个问题可能是一个更干净的解决方案。

2) 如果您能够使用数字(1、2、3)而不是单词(1、2、3),那么您可以进一步清理javascript解决方案。

继续代码!

请参见小提琴以了解工作示例:https://jsfiddle.net/2nzcnhwL/

// run after load to be safe
$(document).ready(function () {
    // map our numbers to words
    var subTabGroups = [\'one\',\'two\',\'three\',\'four\',\'five\'];
    // loop through all of the panes
    $(\'.mk-tabs-pane\').each(function (i) {
        // append each group of subtabs to the corresponding pane
        $(this).append($(\'.tab\' + subTabGroups[i] + \'content\'));
    });
});

SO网友:user3427486

我通过创建一个附加选项卡的循环来解决我的问题。谢谢你的帮助!我还将研究如何在PHP中解决这个问题。

//These next few lines relate to the Chapter 10 page
var tabs = ["one", "two", "three", "four", "five"];
for(var i = 0; i<tabs.length; i++){
    tabNum = tabs[i];
    $(\'.tab\'+tabNum+\'description\').appendTo($(".tab"+tabNum).parents(".mk-tabs-pane"));
    $(\'.tab\'+tabNum+\'content\').appendTo($(".tab"+tabNum).parents(".mk-tabs-pane")); 
}