我需要通过“ gm-style-iw”类选择元素,以修复Inf​​owindow中的某些样式。选择发生在angularjs指令内部。

<div ui-view="full-map" id="full-map" class="mainMap col-xs-6"></div>


ui-view-加载包含IW内容的指令。 map在该指令内初始化。

在指令的控制器初始化上,我必须使用类'gm-style-iw'编辑元素。

   var iwElem = $document[0].getElementsByClassName("gm-style-iw")


确实返回正确的元素。

console.log(iwElem)结果是:

[]
length: 1
0: div.gm-style-iw
__proto__: HTMLCollection


但是,我坚持下去。
据我了解,它作为一个HTMLCollection,它是HTML元素的数组。 =>我必须能够通过0获取此iwElem[0]元素,奇怪的是iwElem[0]返回undefined

还尝试过使用jQuery选择器:

$('.gm-style-iw') => length:0

$('div.gm-style-iw') => length:0

最佳答案

如果您确定自己的html类似于

<div ui-view="full-map" id="full-map" class="mainMap col-xs-6">
  ...some codes
  <div class="gm-style-iw"></div>
  ... other codes
</div>


如果您使用的是JQuery,那么尝试以下选择器怎么样?

$('.mainMap .gm-style-iw')


这意味着将类.gm-style-iw的子节点放在类.mainMap的父节点下

关于javascript - 谷歌 map 从angularjs指令中选择infowindow DOM元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44612065/

10-09 16:55