如何将一个类添加到Leaflet标记?

yes*_*man 18 javascript jquery leaflet

我正在使用自定义divIcons作为我的Leaflet标记.我想为我点击的任何标记添加边框,使用一些简单的CSS:

.selectedMarker {
border: 10px solid gold;
}
Run Code Online (Sandbox Code Playgroud)

但是,以下jQuery不起作用:

$(marker).addClass('selectedMarker');
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用Leaflet自己的addClass()方法.我尝试通过以下方式调用它:

marker.addClass('selectedMarker');
L.addClass(marker, 'selectedMarker');
addClass(marker, 'selectedMarker');
DomUtil.addClass(marker, 'selectedMarker');
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.如何将selectedMarker类添加到标记中?

r8n*_*n5n 20

我通过在标记中添加一个类来完成它

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

然后使用css

.leaflet-marker-icon.selectedMarker{
  //your css
}
Run Code Online (Sandbox Code Playgroud)


小智 19

在1.0和0.7中,您可以使用L.DomUtil从DOM元素添加删除类:

L.DomUtil.addClass(marker._icon, 'className');
L.DomUtil.removeClass(marker._icon, 'className');
Run Code Online (Sandbox Code Playgroud)


Muj*_*bly 12

不使用jQuery,

marker._icon.classList.add("className");
Run Code Online (Sandbox Code Playgroud)