移除由 Google 地图标记点击触发的动态创建的
removing dynamically created <div> triggered from Google map marker click
。
从我所做的挖掘来看,我似乎想使用 .on,但我注意到如何实现它。我仍在学习javascript和jquery,所以我可能会错过一些东西......
下面的代码在将标记添加到 Google 地图 (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();
也就是说,你可能想退后一步,更深入地看看结构,这似乎有点脆弱(但可能没问题)。
相关文章:
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 在动态创建的元素上获取对特定选择器的引用
- JQuery对动态创建的对象进行选择
- 使用jquery动态创建ul-li
- 从动态创建的html选择中选择所选选项
- 如何在动态创建的节点上绑定函数
- 动态创建OnClick事件Javascript
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 在动态创建的标记上添加事件
- 动态创建一个javascript/jquery多级数组
- 如何动态创建许多Jquery颜色选择器(eyecon)
- 如何为动态创建的文本区域中输入的值更新ng模型
- 对动态创建的元素运行jQuery.ech()
- 使用jQuery访问动态创建的项
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 我想将链接关联到动态创建的p元素上的相应文章
- AngularJs从列表中动态创建指令
- 使用javascript动态创建html内容/元素