Подтвердить что ты не робот

Как вы добавляете класс в маркер Leaflet?

Я использую пользовательские divIcons для своих маркеров Leaflet. Я хочу добавить границу к любому маркеру, на который я нажимаю, с помощью простого CSS:

.selectedMarker {
border: 10px solid gold;
}

Однако следующее с jQuery не работает:

$(marker).addClass('selectedMarker');

Затем я попытался использовать Leaflet собственный метод addClass(). Я попытался использовать его следующим образом:

marker.addClass('selectedMarker');
L.addClass(marker, 'selectedMarker');
addClass(marker, 'selectedMarker');
DomUtil.addClass(marker, 'selectedMarker');

Ни одна из этих работ не работает. Как добавить класс selectedMarker в мой маркер?

4b9b3361

Ответ 1

Я сделал это, добавив класс в маркер с помощью

var marker = L.marker(loc);
marker.on('click', function() {
    $(marker._icon).addClass('selectedMarker');
}

а затем используйте css

.leaflet-marker-icon.selectedMarker{
  //your css
}

Ответ 2

В 1.0 и 0.7 вы можете использовать L.DomUtil для добавления классов удаления из элемента DOM:

L.DomUtil.addClass(marker._icon, 'className');
L.DomUtil.removeClass(marker._icon, 'className');

Ответ 3

без использования jQuery,

marker._icon.classList.add("className");