交换两个HTML标签,它们之间有som修复标签

时间:2013-09-19 09:47:12

标签: javascript jquery html

我有Div标签,里面有3个元素(HTML标签)。

第一个标签是:字段集,

第二个标签是:div与位置修复并且有很多内部标记

第三个标签是:字段集。

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

请注意此示例:

      <div id='InformationDiv'>

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

试试这个: - 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>

答案 2 :(得分:1)

这很简单:

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

答案 3 :(得分:0)

没有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/