forEach работает с массивом, а у вас коллекция узлов (NodeList ). И советую использовать не getElementsByClassName, а querySelector/querySelectorAll. Всё-таки кроссбраузерней, да и удобней, когда селектор сложный.
var dependent = document.querySelectorAll('.dep');
[].forEach.call(dependent, function(item, i, arr) {
alert(i + ": " + item + " (массив:" + arr + ")");
});
Вариант второй - преобразуем NodeList в массив и работаем с ним уже соответственно:
var dependent = [].slice.call(document.querySelectorAll('.dep'));
dependent.forEach(function(item, i, arr) {
alert(i + ": " + item + " (массив:" + arr + ")");
});