下面代码的第二部分会监听点击Google地图标记的时间,并将网址添加到地址栏。如何让它在网址周围包裹传统的锚标签?例如< a href ='#test2'>< / A>
markers[1] = new google.maps.Marker({
position: sainsburys,
url: '#test2',
title: 'Sainsburys',
map: map
});
for ( i = 0; i < markers.length; i++ ) {
google.maps.event.addListener(markers[i], 'click', function() {
window.location.href = this.url;
});
}
完整示例在这里http://jsfiddle.net/BQzLq/8/,虽然你看不到它正常工作,因为JSFiddle不允许修改URL。
答案 0 :(得分:1)
您可以操纵window.location.hash
属性。直接操作此操作不会导致浏览器滚动,但如果您再调用$.localScroll.hash()
,则可能会按照您的意愿运行。
答案 1 :(得分:0)
此方法使用临时<div>
和innerHTML
,但如果您愿意,可以使用DOM调用完全创建A
元素。
// create anchor
var anchorHtml = "<a href='" + this.url + "'>ANCHOR TEXT</a>";
var tempDiv = document.createElement("div");
tempDiv.innerHTML = anchorHtml;
var anchor = tempDiv.getElementsByTagName("a")[0];
// use anchor
document.body.appendChild(anchor);
答案 2 :(得分:0)
您可以在地图下方添加div:
<div id="linkArea">
</div>
然后你可以将你的锚点注入:
var anchor = '<a href="' + this.url + '">' + this.title + '</a><br/>';
$('#linkArea').append(anchor);
结果是你应该看到你的锚点出现在你找到div的地方。