如何使用jquery清除未激活的内容
How to clear content which is not in active using jquery?
我正在为我的项目使用jquery UI选项卡。请检查html代码
<div id="tabs">
<ul>
<li><a href="#tabs-1" id="preload" class="load_cont" rel="tabs-1||general">General</a></li>
<li><a href="#tabs-2" class="load_cont" rel="tabs-2||admin_products">Admin Products</a></li>
<li><a href="#tabs-3" class="load_cont" rel="tabs-3||admin_category">Admin Category</a></li>
<li><a href="#tabs-4" class="load_cont" rel="tabs-4||admin_others">Others(Admin)</a></li>
</ul>
<div id="tabs-1"></div>
<div id="tabs-2"></div>
<div id="tabs-3"></div>
<div id="tabs-4"></div>
</div>
当我单击一个选项卡时,我会使用ajax获得表单,它运行良好。检查下面的js代码,它取自phtml文件,
<script type="text/javascript">
$(function(){
// Tabs
$('#tabs').tabs();
//hover states on the static widgets
$('#dialog_link, ul#icons li').hover(
function() { $(this).addClass('ui-state-hover'); },
function() { $(this).removeClass('ui-state-hover'); }
);
$('.load_cont').click(function()
{
var groupname;
var id = $(this).attr('rel');
var gnameArr = id.split('||');
groupname = gnameArr[1];
//alert(gnameArr[1]);
var url = <?php echo BASE_URL; ?> + '/admin/settings/getqtips/gname/'+groupname;
//alert(id);
$.ajax({
type:'POST',
dataType:'json',
url:url+'/math/'+Math.random(),
data:'',
success:function(response)
{
if(response.MSG == 'DONE')
{
$("#"+gnameArr[0]).html(response.TPL);
$('div#'+gnameArr[0]+' #gname').val(groupname);
}
}
});
}
);
});
$(function(){
$('a#preload').click();
})
</script>
我的要求是,当我点击相应的选项卡时,我需要清除其他选项卡中的html。也就是说,如果我点击tabs-2
,则其他选项卡(选项卡-1、选项卡-3、选项卡-4)中的内容应该是清楚的。这个保存了我在zend上的验证。
请就此提供建议。
在成功函数中清空所有其他div
$('div[id^="tabs-"]').each(function(){ //search for all divs which id starts with 'tabs-'
if (this.id != gnameArr[0]) { //if this is not clicked one
$(this).empty(); //clear its content
}
});
或使用falsarella尖端
$('.load_cont').click(function() {
var clickedEl = $('#'+gnameArr[0]);
...
success:functi...
$('div[id^="tabs-"]').not(clickedEl).empty();
...
或者,您可以使用相同的类设置容器元素,例如.container
。
// Clear all container before you set the new one.
$('.container').html('');
这样的东西怎么样:
$('.load_cont').click(function(){
$('.load_cont').not($(this)).each(function(i,el){
$($(el).attr('href')).empty();
});
});
选择不是所选的div,并将其全部清除:
$('#tabs > div:not(#' + gnameArr[0] + ')').empty();
相关文章:
- 提示使用服务器端事件处理程序激活JavaScript
- (取消)使用单独的复选框激活复选框列表
- 如何点击文本区域以使用javascript激活它们
- 如何在使用jquery向数据库发送数据时取消激活的按钮
- 如何使用jQuery激活按钮
- 我必须点击两次才能使用jQuery激活函数
- 使用Selenium WebDriver单击下拉菜单不会激活Javascript来添加或删除页面中的项目
- 是否可以使用javascript激活windows应用程序窗口
- 如何使用on()/of()激活每个事件一次
- 使用javascript点击时激活
- 如何通过它引用谷歌地图标记's id并激活它's使用javascript单击事件
- 如何使用日期对象在特定时间激活音频文件
- 使用javascript和jqueryui点击激活css
- Javascript-从函数中使用clearInterval后重新激活setInterval
- 什么是声明性环境记录,它与激活对象有何不同
- 如何使用Xpages onchange事件激活按钮
- 使用jQuery跟踪/激活点击的文章
- 使用动态构建的 jQuery 承诺链按顺序激活特定元素
- 如何使用按钮激活键盘
- 如何触发 HTML 选择单击事件(使用选项激活选择下拉列表)