[英]removing dynamically created <div> triggered from Google map marker click
從挖掘我已經完成它看起來我想使用.on但我注意到如何去實現它。 我還在學習javascript和jquery所以我可能會遺漏一些東西......
將標記添加到Google地圖(v3 api)時,會運行以下代碼。 它會創建一個標記並添加一個表單字段。 如果用戶然后單擊新創建的標記,則標記將被隱藏,然后代碼也應該刪除該表單。 標記刪除很好,但我無法刪除。 這是我正在尋求幫助的線:
$('#newdiv + site_count).remove();
如果我用有效數字手動替換newdiv + site_count(比如6 so 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
ID為newsiteX
,但該行正在嘗試使用ID newX
來查找它。
創建新的div
,你正在增加site_count
,但是后來你試圖使用site_count
的新值找到div,所以你不會。 也就是說,如果site_count
為0
並且您創建了一個新div,則它將具有id
"newsite0"
並且site_count
將增加為1
。 然后,當您單擊時將其刪除,即使您修復了上面的項目,您也將尋找newsite1
而不是newsite0
。
你沒有向我展示足夠的代碼來自信地為你糾正它,但可能是這樣的:
$('#newsite' + (site_count - 1)).remove();
也就是說,您可能想退一步深入了解結構,這似乎有點脆弱(但可能會很好)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.