JQuery Mobile检查Div是扩展还是折叠

时间:2014-03-07 09:49:32

标签: javascript jquery html css jquery-mobile

我有一个可以使用属性data-role="collapsible"

折叠的Div

如何在任何时间点检查Div是处于折叠模式还是扩展模式。我尝试了这个,但它不起作用:

if ($("#hideshow").is(":collapsed"))
   alert("collapsed");

请注意,:visible无效,因为在两个状态中,visible返回true。

6 个答案:

答案 0 :(得分:10)

这是通过CSS完成的。折叠折叠元素时,会添加“ui-collapsible-collapsed”类。使用.hasClass()来检查它

if ($("#hideshow").hasClass('ui-collapsible-collapsed')) {
    alert("collapsed");
}

答案 1 :(得分:0)

使用collapsed option的getter:

if ($("#hideshow").collapsible("option", "collapsed")) {
  alert("collapsed");
}

答案 2 :(得分:0)

经过测试和工作!

 if (metingblok.collapsible( "option", "collapsed") == false ) {
//then it is closed
}

  if (metingblok.collapsible( "option", "collapsed") == true) {
//then it is open
}

答案 3 :(得分:-1)

尝试使用:

if ($("#hideshow").attr('data-role')=="collapsible")
    alert("collapsed");

答案 4 :(得分:-1)

这样可以解决问题:

if ($("#hideshow").attr('data-role')=="collapsible") {
  console.log("collapsed");
}

而不是console.log,输入您希望处理的任何内容。

答案 5 :(得分:-1)

DEMO

您还可以使用数据getter / setter函数。

var isCollapsed = $("#hideshow").data('role') == "collapsible";

if (isCollapsed)
       alert("collapsed");