Попробуйте вот такой код.
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
</head>
<body>
<h1 id="heading1">My Heading</h1>
<p id="paragraph1">This is some text in a paragraph</p>
<script>
var h1Element = document.getElementById("heading1");
h1Element.style.color = "red";
var pElement, color;
if (h1Element.nextSibling.nodeType == 1) {
pElement = h1Element.nextSibling;
color = "green";
} else {
pElement = h1Element.nextSibling.nextSibling;
color = "blue";
}
pElement.style.color = color;
</script>
</body>
</html>
h1Element.nextSibling.nodeType == 1
проверяет "сосед элемента h1 является элементом (не текстом и не комментом, а "тегом")"
Соседом h1 является сейчас текст "перенос строки с пробелами" и параграф будет синий.
Если разрыв между параграфом и заголовоком уберете
<h1 id="heading1">My Heading</h1><p id="paragraph1">This is some text in a paragraph</p>
, то параграф позеленеет - начнет работать другая ветка условия.