La propiedad de sólo lectura NonDocumentTypeChildNode.nextElementSibling retorna el elemento inmediátamente posterior al especificado, dentro de la lista de elementos hijos de su padre, o bien null si el elemento especificado es el último en dicha lista.

Sintaxis

var nextNode = elementNodeReference.nextElementSibling; 

Ejemplo

<div id="div-01">Este es div-01</div>
<div id="div-02">Este es div-02</div>

<script type="text/javascript">
  var el = document.getElementById('div-01').nextElementSibling;
  console.log('Subsiguientes de div-01:');
  while (el) {
    console.log(el.nodeName);
    el = el.nextElementSibling;
  }
</script>

Este ejemplo muestra en la consola lo siguiente cuando se carga:

Subsiguientes de div-01:
DIV
SCRIPT

Polyfill para Internet Explorer 8

Esta propiedad no está soportada con anterioridad a IE9, así que el siguiente fragmento de código puede utilizarse para añadir el soporte a IE8:

// Source: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js
if(!("nextElementSibling" in document.documentElement)){
    Object.defineProperty(Element.prototype, "nextElementSibling", {
        get: function(){
            var e = this.nextSibling;
            while(e && 1 !== e.nodeType)
                e = e.nextSibling;
            return e;
        }
    });
}

Especificación

Especificación Estado Observaciones
DOM
La definición de 'ChildNodenextElementSibling' en esta especificación.
Living Standard Se dividió la interfaz ElementTraversal en ChildNode, ParentNode, y NonDocumentTypeChildNode. Este método queda ahora definido en la primera.
Los interfaces Element y CharacterData  implementaron el nuevo interfaz.
Element Traversal Specification
La definición de 'ElementTraversal.nextElementSibling' en esta especificación.
Obsolete Añadió su definición inicial al interfaz puro ElementTraversal y su uso en Element.

Compatibilidad con navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Prestación Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico (en Element) 4 3.5 (1.9.1) 9 9.8 4
Soporte en CharacterData 29.0 25 (25) [1] Sin soporte 16.0 Sin soporte
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico (en Element) (Yes) 1.0 (1.9.1) (Yes) 9.8 (Yes)
Soporte en CharacterData (Yes) 25.0 (25) Sin soporte 16.0 Sin soporte

[1] Firefox 25 añadió también esta propiedad a DocumentType, y fue eliminada en Firefox 28 debido a problemas de compatibilidad.

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: Grijander81
Última actualización por: Grijander81,