Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将.detach()与页面上的多个ajax元素一起使用_Javascript_Jquery_Ajax_Detach - Fatal编程技术网

Javascript 将.detach()与页面上的多个ajax元素一起使用

Javascript 将.detach()与页面上的多个ajax元素一起使用,javascript,jquery,ajax,detach,Javascript,Jquery,Ajax,Detach,我使用jQueryAjax将内容从数据库加载到页面中。我有多个div的内容,但一次只想查看一个div 我已经成功地将元素从dom中分离,但是我不知道如何管理多个div,以便一次只显示一个div(而其他div保持分离状态) 下面是我的代码,这是一把小提琴: HTML: 和jsFiddle:如果要修复此代码,在附加选项卡主体时,如果另一个选项卡已经初始化,则还应该取消对其的跟踪 if(test2) test2.detach() 更通用的代码是: for(var i = 0; i < tabs

我使用jQueryAjax将内容从数据库加载到页面中。我有多个div的内容,但一次只想查看一个div

我已经成功地将元素从dom中分离,但是我不知道如何管理多个div,以便一次只显示一个div(而其他div保持分离状态)

下面是我的代码,这是一把小提琴:

HTML:


和jsFiddle:

如果要修复此代码,在附加选项卡主体时,如果另一个选项卡已经初始化,则还应该取消对其的跟踪

if(test2) test2.detach()
更通用的代码是:

for(var i = 0; i < tabs.length; i++) {
    if(i != tabIndexToShow && tabs[i] != null) {
        tabs[i].detach()
    }
}
for(变量i=0;i

<>但是,你应该认真考虑使用(例如)做你想做的事情。


另外,请在这里发布之前清理、缩进和注释您的代码(或者更好,一直是;=)

谢谢,这种方式很有效,但不适用于最初的点击。您会注意到两个选项卡在第一次单击时都存在,但在连续单击后会消失:。此外,jQuery UI选项卡使用detach()?换句话说,jQueryUI选项卡会从数据库重新加载内容吗?这正是我试图避免的。jQueryUITabs使用display=none隐藏选项卡,这很好。它不会每次都重新创建选项卡。你有很多选择,只需浏览演示。至于初始化,我更新了我的答案和你的提琴谢谢,效果很好。如果我想再添加两个选项卡,我如何用修改后的代码管理它们?比如这里:它似乎起作用了。但是,如果您选择不使用jqueryui选项卡,那么您应该认真考虑重用代码的方法,而不是反复复制/粘贴相同的行。例如,您可以考虑一个选项卡数组,并在该数组的元素上循环。。。但这有点像重写jQueryUITabsRight,这部分是我要问的。我想把它变成一个函数,但我想知道我如何能容纳更多的标签与您修改后的代码<代码>if(test2)test2.detach(),等等?如果你在Fiddle v3中点击,这些标签就会分崩离析,因为我不确定如何考虑额外的标签?
.nav-active,.nav-active a{background-color:#fff;color:#e84182 !important;outline:none;}
.sub-active,.sub-active a{background-color:#fff;color:#e84182 !important;border:dotted 1px pink;border-width:1px 0 ;margin:-1px 0;outline:none;/*background:url(/assets/img/icon-branch.png) 2% 5px no-repeat #fff;*/}

#content-listing{background-color:#ea528d;}/*230px*/
#content-listing ul.top-level ul li{margin-left:5.882352941176%}
#content-listing li a{font-size:.8125em;line-height:1em;text-decoration:none;padding:2px 0;display:block;text-indent:2.678571428571%;outline:none;}
.visited{color:#ccc;}

#content-listing ul{z-index:4;position:relative;}/*230px*/
#content-listing ul.top-level{margin-top:5.3125em/*85px*/;}
#content-listing ul.top-level ul li{margin-left:6.521739130435%;}
#content-listing{width:29.113924050633%;float:left;padding-bottom:20010px;margin-bottom: -20000px;}
#content-listing li a{text-indent:6.521739130435%;/*15px*/}​
if(test2) test2.detach()
for(var i = 0; i < tabs.length; i++) {
    if(i != tabIndexToShow && tabs[i] != null) {
        tabs[i].detach()
    }
}