Získat další / předchozí prvek pomocí JavaScriptu?

Jak získám další prvek v HTML pomocí JavaScriptu?

Předpokládejme, že mám tři <div> s a dostanu odkaz na jeden v kódu JavaScript, chci získat další <div> a který je předchozí.

Odpověď

V čistém javascriptu si myslím, že byste je nejprve museli poskládat do sbírky.

var divs = document.getElementsByTagName("div");
//divs now contain each and every div element on the page
var selectionDiv = document.getElementById("MySecondDiv");

Takže v podstatě pomocí selectionDiv iterujte kolekci, abyste našli její index, a pak samozřejmě -1 =předchozí +1 =další v rámci hranic

for(var i = 0; i < divs.length;i++)
{
   if(divs[i] == selectionDiv)
   {
     var previous = divs[i - 1];
     var next = divs[i + 1];
   }
}

Uvědomte si prosím, jak říkám, že ke kontrole, zda jste v mezích, tj. nejste na konci nebo na začátku kolekce, by byla nutná další logika.

To také znamená, že máte prvek div, který má vnořený podřízený prvek div. Další div by nebyl sourozenec, ale dítě, takže pokud chcete pouze sourozence na stejné úrovni jako cílový div, pak rozhodně použijte nextSibling kontrolu tagName vlastnost.