Поменяйте местами два HTML-тега, между которыми есть некоторые фиксированные теги

0

У меня есть тег Div и внутри есть 3 элемента (HTML-теги).

первый тег: набор полей,

второй тег: div с исправлением положения и имеет много внутреннего тега

третий тег: набор полей.

Мне нужно после проверки условий в событии готовности документа, функции вызова для обмена только 2 набора полей (например, этот код) и второго элемента (div).

обратите внимание на этот образец:

      <div id='InformationDiv'>

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

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

         <fieldset id='fieldset2'>
              ...                  
         </fieldset>
      </div>
Теги:

4 ответа

1
Лучший ответ

Смотрите здесь http://jsfiddle.net/NnByd/

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

Это было так просто:

$("#fieldset1").detach().insertAfter("#fixDiv");
$("#fieldset2").detach().insertBefore("#fixDiv");
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>
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/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню