jQuery Mobile Collapsibleset initSelector选项

  • Post category:jquery

jQuery Mobile是一个jQuery插件,专门用于开发移动端Web应用程序,其中Collapsibleset是一种可以将页面上的内容分组并折叠起来的组件,非常适合用于移动端Web页面的展示和交互。

Collapsibleset组件的initSelector选项可以让我们在初始化组件时设置一个选择器,来指定需要将哪些元素转化成Collapsibleset组件。下面是完整攻略:

1. 初始化Collapsibleset组件

首先需要初始化一个Collapsibleset组件。在初始化时需要引入jQuery脚本和jQuery Mobile样式和脚本:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>My Collapsibleset Page</title>
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>

<body>
  <div data-role="collapsibleset" data-mini="true">
    <div data-role="collapsible">
      <h3>Section 1</h3>
      <p>Content of section 1.</p>
    </div>
    <div data-role="collapsible">
      <h3>Section 2</h3>
      <p>Content of section 2.</p>
    </div>
  </div>
</body>

</html>

以上代码片段初始化了一个包含两个Collapsible部件的Collapsible集合,其中data-role=”collapsibleset”指定了组件类型为Collapsibleset,data-mini=”true”指定了组件使用小型样式。

2. 使用initSelector选项

接下来我们可以运用initSelector选项自动将页面上指定的元素转化为Collapsibleset组件。

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>My Collapsibleset Page</title>
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>

<body>
  <div>
    <div class="my-group" data-role="collapsible">
      <h3>Section 1</h3>
      <p>Content of section 1.</p>
    </div>
    <div class="my-group" data-role="collapsible">
      <h3>Section 2</h3>
      <p>Content of section 2.</p>
    </div>
  </div>

  <!-- 为上述my-group添加Collapsibleset组件 -->
  <script>
    $(document).on('pagecreate', function () {
      $('.my-group').collapsibleset();
    });
  </script>

</body>

</html>

以上代码片段将包含class为my-group的元素通过initSelector选项自动转化为一个Collapsibleset组件。

另外,如果我们想在初始化时只转化某些元素为Collapsibleset组件,可以设置具体的选择器,如下所示:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>My Collapsibleset Page</title>
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>

<body>
  <div>
    <div class="my-group" data-role="collapsible">
      <h3>Section 1</h3>
      <p>Content of section 1.</p>
    </div>
    <div data-role="listview" class="my-group">
      <li><a href="#">List Item 1</a></li>
      <li><a href="#">List Item 2</a></li>
      <li><a href="#">List Item 3</a></li>
    </div>
    <div class="my-group" data-role="collapsible">
      <h3>Section 2</h3>
      <p>Content of section 2.</p>
    </div>
  </div>

  <!-- 仅将class为my-group,data-role为collapsible的元素转化为Collapsibleset组件 -->
  <script>
    $(document).on('pagecreate', function () {
      $('.my-group[data-role=collapsible]').collapsibleset();
    });
  </script>

</body>

</html>

以上代码片段只将包含class为my-group,data-role为collapsible的元素通过initSelector选项转化为Collapsibleset组件。