HTML- und CSS-Sheets strukturieren
bearbeitet von
@@Matthias Scharwies
> Das war früher auch so, wenn man [JavaScript/DOM/Node/childNodes](https://wiki.selfhtml.org/wiki/JavaScript/DOM/Node/childNodes) ermitteln wollte - Weißraum, auch Zeilenumbrüche und Einrückungen waren ein eigener Knoten.
Das ist heute immer noch so.
```html
<ul>
<li>Palstek</li>
<li>Schotstek</li>
</ul>
```
```js
const listElement = document.querySelector('ul');
console.log(listElement.childNodes.length); // 5
```
> Heute gibt's [JavaScript/DOM/Node/nextSibling](https://wiki.selfhtml.org/wiki/JavaScript/DOM/Node/nextSibling)
?? Und was willst du damit sagen?
Mit `nextSibling` kommt man zum nächsten Knoten – das kann ein Elementknoten sein oder ein Textknoten oder …
```js
const firstListItemElement = document.querySelector('li');
console.log(firstListItemElement.nextSibling); // [object Text]
```
Was du veilleicht sagen wolltest: Es gibt [`children`](https://wiki.selfhtml.org/wiki/JavaScript/DOM/ParentNode/children).
```js
console.log(listElement.children.length); // 2
```
Und mit [`nextElementSibling`](https://wiki.selfhtml.org/wiki/JavaScript/DOM/NonDocumentTypeChildNode/nextElementSibling) kommt man zum nächsten Elementknoten.
```js
console.log(firstListItemElement.nextElementSibling); // <li>Schotstek</li>
```
☞ Codepen: [Knoten](https://codepen.io/gunnarbittersmann/pen/BaEoxzb?editors=1011)
Kwakoni Yiquan
{:@art-x-kwejian}
--
*Ad astra per aspera*{:@la}