我需要通过“ gm-style-iw”类选择元素,以修复Infowindow中的某些样式。选择发生在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/