簡體   English   中英

刪除動態創建 <div> 從谷歌地圖標記點擊觸發

[英]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();

有三個問題:

  1. 沒有關閉' ,所以它會導致語法錯誤。

  2. 您給包含表單字段的div ID為newsiteX ,但該行正在嘗試使用ID newX來查找它。

  3. 創建新的div ,你正在增加site_count ,但是后來你試圖使用site_count值找到div,所以你不會。 也就是說,如果site_count0並且您創建了一個新div,則它將具有id "newsite0"並且site_count將增加為1 然后,當您單擊時將其刪除,即使您修復了上面的項目,您也將尋找newsite1而不是newsite0

你沒有向我展示足夠的代碼來自信地為你糾正它,但可能是這樣的:

$('#newsite' + (site_count - 1)).remove();

也就是說,您可能想退一步深入了解結構,這似乎有點脆弱(但可能會很好)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM