尝试使用Maps API创建DOM元素

时间:2013-03-15 16:28:42

标签: javascript google-maps-api-3 google-maps-markers

我正在尝试使用Google Maps API在信息框内部创建一个DOM元素,但我期望找到我的元素,浏览器不会渲染元素,而是关于该对象的纯文本。我怀疑这与我混合使用JS和HTML的方式有关,因为如果我只是包含Javascript(没有HTML),元素就会毫无问题地显示出来。

信息框的内容变量如下所示:

var content = '<strong>Title</strong>' + document.createElement('button');

渲染的内容如下所示:

Title [object HTMLButtonElement]

1 个答案:

答案 0 :(得分:1)

  

我怀疑这与我混合JS和HTML

的方式有关

完全。

var content = '<strong>Title</strong>' + document.createElement('button');

您的变量首先被赋予一个字符串值 - 然后您尝试使用+运算符向其附加内容,该运算符代表此上下文中的字符串连接。由于HTML元素在这里是“虚构的”,因此必须将其转换为字符串才能执行操作。当你将一个HTML元素隐式“强制转换”为一个字符串时,浏览器就会像[object HTMLButtonElement]那样(不同浏览器之间的确切文本会有所不同)。

使用DOM方法创建所有元素(strong的createElement,以及其中的文本内容的createTextNode) - 或者如果在您的上下文中可以使用innerHTML,则使用{{1}}。