jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用jQuery重构HTML大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些 HTML需要在两个结构之间切换 – 一个嵌套,一个非嵌套 – 以便用户更容易对cms中的页面组件进行排序.

这是之前的HTML …

<p><a href="#" id="restructure">Toggle Structure</a></p>
<div id="modules">
  <div class="two_column_Box">
    <div class="column_left">
      <p>Some text</p>
    </div>
    <div class="column_right">
      <p>Some text</p>
    </div>
  </div>
  <div class="two_column_Box">
    <div class="column_left">
      <p>Some text</p>
    </div>
    <div class="column_right">
      <p>Some text</p>
    </div> 
  </div> 
</div>

并在html之后……

<p><a href="#" id="restructure">Toggle Structure</a></p>
<div id="modules">
  <div class="column_left">
    <p>Some text</p>
  </div>
  <div class="column_right">
    <p>Some text</p>
  </div>
  <div class="column_left">
    <p>Some text</p>
  </div>
  <div class="column_right">
    <p>Some text</p>
  </div>
</div>

我可以删除额外的div,没有麻烦,但后来把它们放回Go – 我只是不知道如何从纯文本和现有DOM元素构建html.这是我到目前为止的代码……

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){  
    $('#restructure').toggle(
      function() {
        alert('removing structure');
        var module_list = $("#modules > div > div");
        $("#modules").html(module_list);
      },function() {
        alert('replacing structure');
        var idx = 1;
        var next;
        var structure = $("");
        while((next = $('#modules > div:nth-child(' + idx++ + ')')).length) {
          var element = next.clone();
          if(idx%2==1) {
            $(structurE).append('<div class="two_column_Box">').append(element);
          } else {
            $(structurE).append(element).append('</div>');
          }
        }
        $("#modules").html(structurE);
      }
    );
  });
  </script>

任何帮助使得切换的第二个功能起作用(或者在工作代码的更惯用的版本中)都将非常感激……

解决方法

在您的情况下,您应该使用 wrapAll,因为您将多个元素一次包装到同一元素中.

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){  
    $('#restructure').toggle(
      function() {
        alert('removing structure');
        var module_list = $("#modules > div > div");
        $("#modules").html(module_list);
      },function() {
        alert('replacing structure');
        var next;
        while((next = $('#modules > div.column_left:first,#modules > div.column_right:first')).length)
        {
          next.wrapAll('<div class="two_column_Box"></div>');
        }
      }
    );
  });
  </script>

大佬总结

以上是大佬教程为你收集整理的使用jQuery重构HTML全部内容,希望文章能够帮你解决使用jQuery重构HTML所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。