从我所做的挖掘看来,我想使用 .on 但我知道如何去实现它。我仍在学习 javascript 和 jquery 所以我可能会错过一些东西......
将标记添加到 Google map (v3 api)时运行以下代码。它创建一个标记并添加一个表单字段。如果用户随后单击新创建的标记,则该标记将被隐藏,并且代码也应删除该表单。标记可以很好地去除,但我无法去除。这是我正在寻求帮助的线路:
$('#newdiv + site_count).remove();
如果我手动将 newdiv+ site_count 替换为有效数字(例如 6,即 newdiv6),则代码可以正常工作,我只是不知道如何实时引用它...最后,这是其余的相关代码:
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
newlocation = "<div id='newdiv" + site_count + "'><input type='text' size='3' name='loc[" + site_count + "]' id='newid" + site_count + "' value = '0' /></div>";
$('#here').append(newlocation)
google.maps.event.addListener(marker, "click", function(event) {
marker.setVisible(false);
$('#new+ site_count).remove();
});
site_count++;
})
感谢您花时间查看我的问题。 --AJ
最佳答案
这一行
$('#new+ site_count).remove();
存在三个问题:
没有结束
'
,因此会导致语法错误。您给出的是
div
包含表单字段 IDnewsiteX
,但该行试图使用 IDnewX
来查找它相反。创建新的
div
后,您正在递增site_count
,但稍后您尝试使用site_count
的新值来查找 div ,所以你不会。也就是说,如果site_count
是0
然后您创建一个新的 div,它将具有id
"newsite0"
和site_count
将增加到1
。然后,当您点击删除它时,即使您修复了上面的项目,您也会寻找newsite1
而不是newsite0
.
您没有展示足够的代码,让我无法自信地为您纠正它,但可能是这样的:
$('#newsite' + (site_count - 1)).remove();
也就是说,您可能想退一步并更深入地了解该结构,这似乎有点脆弱(但可能没问题)。
关于javascript - 删除由 Google map 标记点击触发的动态创建的 <div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14660365/