Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
jQuery UI选项卡:如果只有一个选项卡,是否没有关闭按钮?_Jquery_Jquery Ui_Jquery Ui Tabs - Fatal编程技术网

jQuery UI选项卡:如果只有一个选项卡,是否没有关闭按钮?

jQuery UI选项卡:如果只有一个选项卡,是否没有关闭按钮?,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,我已经创建了一个选项卡组,用户可以根据jqueryui添加和关闭选项卡 它工作正常,但我需要这样做,如果只有一个选项卡,您就无法关闭它。基本上与Safari中的选项卡功能相同-当有多个选项卡时,第一个选项卡只有一个关闭按钮 我想这是一个大致的过程: if (tabNumber < 2) { $("#nav-tabs").tabs(".ui-icon-close").hide(); } if(tabNumber

我已经创建了一个选项卡组,用户可以根据jqueryui添加和关闭选项卡

它工作正常,但我需要这样做,如果只有一个选项卡,您就无法关闭它。基本上与Safari中的选项卡功能相同-当有多个选项卡时,第一个选项卡只有一个关闭按钮

我想这是一个大致的过程:

if (tabNumber < 2) {
  $("#nav-tabs").tabs(".ui-icon-close").hide();
} 
if(tabNumber<2){
$(“#导航选项卡”).tabs(“.ui图标关闭”).hide();
} 
但不完全如此。我该怎么做


非常感谢您的帮助。

我的第一反应是找到一个内在的解决方案。但是,由于我们是手动添加关闭按钮,我们应该在其显示时进行处理。所以我的解决方案也和你提到的一样。我只是修改了给出的例子。我做了一个像这样的自定义刷新函数

function refresh(t){
  tabCount = $("#tabs li")
  console.log(tabCount.length)
  if(tabCount.length == 1){
    $('.ui-icon-close').hide()
  }
  else{
    $('.ui-icon-close').show()
  }
  t.tabs( "refresh" )
}
并替换对此的所有刷新调用

refresh(tabs)
我举了一个有效的例子
我希望它能帮助您入门

您可以使用CSS psuedoselector解决此问题:

.ui-tabs-nav li:only-child span.ui-icon-close{
  display:none !important;
}
如果只有一个选项卡,这将隐藏关闭按钮。没有JS!:)


谢谢你。不幸的是,它看起来无法与我的live one配合使用(这比示例要复杂一点),我不知道为什么:[link]太棒了!谢谢。所以这在我的情况下也不起作用,因为添加标签按钮在ul中。这是我唯一可以放置它的地方,以便在添加新选项卡时使其与选项卡对齐。所以我的代码是这样的:
  • 删除选项卡
  • 新建选项卡
有没有办法只针对li的?明白了。刚将“独生子女”替换为“唯一的类型”,它可以完美地工作。