第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

盡管元素的 id 正確,但無法刪除元素?

盡管元素的 id 正確,但無法刪除元素?

蝴蝶不菲 2023-08-29 10:07:27
當(dāng)我單擊地圖時,它會向地圖 div 添加元素,這一行:$('#map').append('<label>test:</label><input type="hidden" name="map_coords" id="' + e.latlng.lat + '" value="' + e.latlng.lat + '|' + e.latlng.lng + '"/>');但是當(dāng)我再次單擊時,它不會將其與此行一起刪除:console.log(e.latlng.lat); $('#'+e.latlng.lat).remove();我確信console.log(e.latlng.lat);元素的 id 是正確的,但它不會刪除隱藏的輸入元素。console.log($('#'+e.latlng.lat));還告訴我有元素。var mymap = L.map('map').setView([42.148271, 24.750240], 17);$(document).ready(function() {    $('#map').css('width', $('.vc_custom_1538133669144').width());    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',        accessToken: 'not-needed',    }).addTo(mymap)    L.marker([42.148271, 24.750240]).addTo(mymap);    mymap.on('click', onMapClick);});function onMapClick(e) {    $('#map').append('<label>test:</label><input type="hidden" name="map_coords" id="' + e.latlng.lat + '" value="' + e.latlng.lat + '|' + e.latlng.lng + '"/>');    var marker = L.marker([e.latlng.lat, e.latlng.lng]).addTo(mymap);    marker.on('click',function(e) {        console.log(e.latlng.lat);        $('#'+e.latlng.lat).remove();        this.remove();    });}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" /><script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"></script><div id="map" style="height: 500px;"></div>
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗 獲得超6個贊

您的 ID 包含特殊字符(特別是點)。請參閱文檔:

如果 id 包含句點或冒號等字符,則必須使用反斜杠轉(zhuǎn)義這些字符。

(這是因為.會被解釋為類選擇器:例如,#42.123456意味著選擇具有 ID42和類的元素。)123456

另外,它以數(shù)字開頭,這在技術(shù)上是不允許的:

ID 和 NAME 令牌必須以字母 ([A-Za-z]) 開頭,后可跟任意數(shù)量的字母、數(shù)字 ([0-9])、連字符 ("-")、下劃線 ("_") 、冒號(“:”)和句點(“.”)

...但是,它仍然適用于我測試過的所有瀏覽器。

您有幾個選擇:

  • 您可以使用反斜杠轉(zhuǎn)義點:$('#' + e.latlng.lat.toString().replace('.', '\\.')).remove()

  • 您可以[id="..."]改為查詢:$('[id="' + e.latlng.lat + '"]').remove()

  • 你可以使用document.getElementById$(document.getElementById(e.latlng.lat)).remove()。

在我看來,這樣的值無論如何都不應(yīng)該是 ID,我會使用數(shù)據(jù)屬性來代替,或者直接保留對元素的引用:

var $element = $('<div><label>test:</label><input type="hidden" name="map_coords" value="' + e.latlng.lat + '|' + e.latlng.lng + '"/></div>');

$('#map').append($element);


var marker = L.marker([e.latlng.lat, e.latlng.lng]).addTo(mymap);

marker.on('click',function(e) {

? ? $element.remove();

? ? this.remove();

});

請注意,我還將元素包裝在此處<div>!實際上,如果沒有它,它甚至一開始就無法工作,因為您刪除的元素只是 the<input>而不是<label>.


查看完整回答
反對 回復(fù) 2023-08-29
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗 獲得超9個贊

我可以在同一位置單擊地圖兩次。第二次單擊時標(biāo)記消失。

但是,由于單擊同一緯度坐標(biāo)非常困難,因此看起來標(biāo)記并未被刪除。那是因為另一個標(biāo)記被放置在該新位置上。


查看完整回答
反對 回復(fù) 2023-08-29
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號