selectare tag html anterior altui element

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
sterica
Mesaje: 285

selectare tag html anterior altui element

Salutare,

Am un cod sub forma aceasta

Cod: Selectaţi tot

<div></div>
<div></div>
.....
<div></div>
<form></form>
Numarul div-urilor difera in funtie de ceea ce genereaza php-ul, atat div-urile cat si form-ul nu au clasa sau id
Cum pot selecta sau rescrie primul div de deasupra formului?

Multumesc!

MarPlo Mesaje: 4343
Salut,
Poti sa folosesti functia getTg1BeforeTg2() din urmatorul exemplu. Returneaza elementul html cu tag $tg1 care se afla imediat inaintea elementului cu tag $tg2.
Apoi se editeaza elementul returnat cum stii.

Cod: Selectaţi tot

<div>dv1</div>
<div>dv2</div>
.....
<div>dvx</div>
<form>form</form>

<script>
//returns the element with tag $tg1 which is before the element with tag $tg2
function getTg1BeforeTg2(tg1, tg2){
  var div_form = document.querySelectorAll(tg1+', '+tg2);
  var ix =0;
  for(var i=0; i<div_form.length; i++){
    if(div_form[i].tagName.toLowerCase()==tg2.toLowerCase()){
      ix = i-1;
      break;
    }
  }
  return div_form[ix];
}

//get the Div before Form
var div_x = getTg1BeforeTg2('div', 'form');

alert(div_x.innerHTML);
</script>

Subiecte similare