Задать вопрос
@Shimpanze

JavaScript: из-за чего возникает ошибка: Uncaught TypeError: Cannot read property '1' of null?

Добрый день!

Скажите, пожалуйста, из-за чего возникает ошибка: Uncaught TypeError: Cannot read property '1' of null?

var as = document.getElementsByTagName('a');
var re = /^https?:\/\/([^\/]*)\//;
for (var i = 0, l = as.length; i < l; i++) {
    var href = as[i].href;
    var matches = href.match(re);
    if (matches[1] && matches[1] != "mysite") {
        as[i].setAttribute("target","_blank");
    }
}
  • Вопрос задан
  • 8485 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Ошибка возникает из-за того, что переменная matches равна null. Вероятнее всего какая-то из ссылок имеет кривой href. Соответственно match(...) не находит совпадений и возвращает null. Перед тем, как использовать результат работы этого метода, проверяйте что он вернул.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Потому, что второго элемента в массиве matches сейчас нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы