«это» является нулевым или дает ошибки - JavaScript приключения :) - PullRequest
0 голосов
/ 11 апреля 2011

Я изучаю JavaScript и постепенно пытаюсь понять, почему не работает определенная страница:)

Я делаю что-то вроде этого:

<a onClick="removeAllMarkers(this)" href="#" >Remove All Markers</a>

С мыслью, что отправка это правильный путь. Но я думаю, что я не совсем понимаю роль "этого" в моей нынешней ситуации.

Я получаю ошибку консоли JavaScript, когда нажимаю на ссылку «очистить все маркеры» на этой странице: http://www.comehike.com/outdoors/trees/add_spotted_trees.php?hike_id=108

Страница имеет учетные данные для входа: test@comehike.com | пароль

Есть идеи, что я в основном делаю неправильно и как лучше всего очистить массив маркеров []?

В настоящее время я делаю что-то вроде этого:

if (markers)
{
    for (i in markers)
    {
         markers[i].setMap(null);
         markers[i] = null;
    }
}

Но это именно та часть, которая, к сожалению, имеет ошибки. Предложения? :)

Вот эта страница

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

Установка элемента массива на null не удалит его из массива.


Чтобы очистить массив, либо назначьте переменную новому пустому массиву:

markers = [];

Или установите для его свойства length значение 0:

markers.length = 0;

Сделайте это после циклического перемещения по массиву и вызова .setMap(null) для каждого.


Только для удаленияпоследний элемент в массиве:

markers.pop();
2 голосов
/ 11 апреля 2011

Для получения дополнительной информации см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...