K
K
Konstantin Malyarov2018-03-27 07:55:49
JavaScript
Konstantin Malyarov, 2018-03-27 07:55:49

Why does this happen when iterating over an array?

There is a loop like this:

end: function (event) {
            this.period_day.forEach(function (day) {
                document.getElementsByName(day).forEach(function (operating_room) {
                    operating_room.childNodes.forEach(function (operation) {
                        console.log(operation)
                    })
                })
            })
        }

In the logs comes:
<div id="7"><div operation="7" class="border border-dark rounded bg-white" style="margin: 2px;"><button class="btn-sm btn-danger">Удалить из плана </button> <br>Операционная: 1 Очередь: 
                                    <br>Дата операции: <b>2018-04-01</b>
                                    Ф.И.О.: <b>Васильев</b> <b>Василий</b> <b>Васильевич</b>
                                    Возраст: <b>1992-02-02</b> <br>МК№ <b>2</b> Дата поступления: <b>2018-03-06</b> <br>Диагноз: <b>Сосудистая мальформация щечной области слева; состояние после ряда операций</b> МКБ-X <b>Q27.3</b> <span class="bg-danger">Сопутсвующие заболевания: <b>Сахарный диабет II типа</b></span> <br>Операция: <b>Блоковая резекция с применением лазерного воздействия и прошиванием с применением компрессионных валиков</b></div></div>
<div id="8"><!----></div>

If I add another enumeration of operations:
end: function (event) {
            this.period_day.forEach(function (day) {
                document.getElementsByName(day).forEach(function (operating_room) {
                    operating_room.childNodes.forEach(function (operation) {
                        operation.childNodes.forEach(function (patient) {
                            console.log(patient)
                        })
                    })
                })
            })
        },

That returns:
<!---->
<!---->

Should return though.
<div operation="7" class="border border-dark rounded bg-white" style="margin: 2px;"><button class="btn-sm btn-danger">Удалить из
                                        плана
                                    </button> <br>Операционная: 1 Очередь: 
                                    <br>Дата операции: <b>2018-04-01</b>
                                    Ф.И.О.: <b>Васильев</b> <b>Василий</b> <b>Васильевич</b>
                                    Возраст: <b>1992-02-02</b> <br>МК№ <b>2</b> Дата поступления: <b>2018-03-06</b> <br>Диагноз: <b>Сосудистая мальформация щечной области слева; состояние после ряда операций</b> МКБ-X <b>Q27.3</b> <span class="bg-danger">Сопутсвующие заболевания: <b>Сахарный диабет II типа</b></span> <br>Операция: <b>Блоковая резекция с применением лазерного воздействия и прошиванием с применением компрессионных валиков</b></div>
<!---->

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Anton fon Faust, 2018-03-28
@bubandos

But nothing that id should not be numbers?
For a second, in browsers, all id's are translated into variables with the same names:
in js, the some variable will refer to this div.
and more... getElementsByName returns all elements with the specified name attribute.
Something I point blank in your html-code I do not see any element with this attribute.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question