Předchozí/další element v JavaScriptu

Následující sourozenec nextSibling

Při vyhledávání elementů pomocí JavaScriptu slouží nextSibling pro získání následujícího sourozence.

Problém je, že jako následující sourozenec je brán kromě HTML elementů i textový obsah.

Bude-li existovat násludjící kód:

<div class="prvni">1</div>
<div class="druhy">2</div>

JavaScriptová konstrukce využívající nexSibling nezachytí element .druhy:

document.querySelector(".prvni").nextSibling;

V tomto případě budou zachyceny bílé znaky mezi elementy.

Dostat se na element .druhy by znamenalo:

  1. Použít nextSibling dvakrát:

    document.querySelector(".prvni").nextSibling.nextSibling;
  2. Zrušit bílé znaky mezi HTML značkami.

    <div class="prvni">1</div><div class="druhy">2</div>

Následující element – nextElementSibling

Situaci, kdy nextSibling vrátí bílé znaky, řeší nextElementSibling, který bere v potaz pouze HTML elementy.

document.querySelector(".prvni").nextElementSibling;

Vlastnost nextElementSibling funguje od IE 9 a pro starší prohlížeče jde doskriptovat s využitím nextSibling.

var nextElementSibling = function(el) {
    do {
        el = el.nextSibling;
    } while (el && el.nodeType !== 1);
    return el;
};

Použití:

var druhy = nextElementSibling(
  document.querySelector(".prvni")
);

Živá ukázka

Předchozí – previousSiblingpreviousElementSibling

Metody pro získání předchozího sourozence nebo předchozího elementu fungují obdobně jako next*Sibling.

document.querySelector(".druhy").previousSibling;

Případně pro získání předchozího elementu.

document.querySelector(".druhy").previousElementSibling;

Další/předchozí v jQuery

V jQuery existují pro předchozí a další element klíčová slova prev a next a fungují jako nextElementSibling/previousElementSibling.

Následující:

$(".prvni").next();

Předchozí:

$(".druhy").prev();

Odkazy jinam

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Jak vytvořit WYSIWYG editor

Vlastní jednoduchý WYSIWYG editor

Chceme-li na webu zadávat text a běžná <textarea> už nestačí, řešením je napsat si vlastní WYSIWYG editor.

Detekce zapnutého JavaScriptu

Zapnutý a vypnutý JavaScript

Jak na webové stránce detekovat zapnuté nebo vypnuté skriptování.

CSS vyhledávání a filtrování

CSS vyhledávání a filtrování obsahu

Jak pomocí CSS se špetkou JS filtrovat obsah stránky nebo na ní vyhledávat.

Upozornění před opuštěním stránky

Upozornění před zavřením stránky

Javascriptová událost onbeforeunload umožňuje pozastavit uzavření/obnovení stránky.

Plynulý přesun focusu

Plynulý přesun focusu

Plynulé přesouvání focusu mezi jednotlivými položkami formuláře.

Komentáře