【问题标题】:Swap two HTML tags which have som fix tags between them交换两个 HTML 标签,它们之间有 som fix 标签
【发布时间】:2013-09-19 09:47:12
【问题描述】:

我有 Div 标签,其中有 3 个元素(HTML 标签)。

第一个标签是:字段集,

第二个标签是:定位固定的div,有很多内部标签

第三个标签是:field set。

我需要在检查文档就绪事件中的条件后,调用函数以仅交换 2 个字段集(例如此代码)和第二个元素(div)保持修复。

请注意这个示例:

      <div id='InformationDiv'>

         <fieldset id='fieldset1'>
              ...                  
         </fieldset>

         <div id='fixDiv'>
              ...
              ...  
         </div>

         <fieldset id='fieldset2'>
              ...                  
         </fieldset>
      </div>

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    看这里http://jsfiddle.net/NnByd/

     var swapItems= $("#InformationDiv fieldset");
     $("#InformationDiv").prepend(swapItems.eq(1))
     $("#InformationDiv").append(swapItems.eq(0))
    

    【讨论】:

      【解决方案2】:

      试试这个:- http://jsfiddle.net/adiioo7/bK7XT/

      JS:-

      jQuery(function($){
          var obj1=$("#fixDiv").prev();
          var obj2=$("#fixDiv").next();
          $("#fixDiv").before(obj2);
          $("#fixDiv").after(obj1);
      });
      

      HTML:-

           <div id='InformationDiv'>
      
               <fieldset id='fieldset1'>
                    fieldset1                
               </fieldset>
      
               <div id='fixDiv'>
                    fixDiv 
               </div>
      
               <fieldset id='fieldset2'>
                    fieldset2                 
               </fieldset>
            </div>
      

      【讨论】:

        【解决方案3】:

        这很简单:

        $("#fieldset1").detach().insertAfter("#fixDiv");
        $("#fieldset2").detach().insertBefore("#fixDiv");
        

        【讨论】:

          【解决方案4】:

          没有 jQuery:

          function replace() {
            var fieldsets = document.getElementsByTagName('fieldset');
            var fieldset;
            var parent = fieldsets[0].parentNode;
          
            // Create some dummy replacement material
            var newStuff = [];
            var p = document.createElement('p');
            p.innerHTML = 'This is new';
            newStuff.push(p);
            p = document.createElement('p');
            p.innerHTML = 'This is also new';
            newStuff.push(p);
          
            // Replace
            for (var ii=fieldsets.length;ii>0;) {
              ii--;
              fieldset = fieldsets[ii];
              parent.replaceChild(newStuff[ii], fieldset);
            }
          }
          

          http://jsfiddle.net/Lexogram/Pze9s/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-23
            • 1970-01-01
            • 1970-01-01
            • 2013-11-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多