Javascript 将.detach()与页面上的多个ajax元素一起使用
我使用jQueryAjax将内容从数据库加载到页面中。我有多个div的内容,但一次只想查看一个div 我已经成功地将元素从dom中分离,但是我不知道如何管理多个div,以便一次只显示一个div(而其他div保持分离状态) 下面是我的代码,这是一把小提琴: HTML: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
和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()
}
}