gpt4 book ai didi

javascript - 追加后删除并不是删除

转载 作者:行者123 更新时间:2023-11-28 21:16:03 25 4
gpt4 key购买 nike

我有一段有趣的代码,它似乎不想听我的。本质上,我试图根据要使用的 map 来影响某些缩放按钮何时出现在 map 上。

虽然一开始没有 append 缩放按钮,但后来在更改为使用缩放按钮的 map 时添加缩放按钮也毫无异议,但一旦按钮被添加,我就无法将其删除。已追加。

JS:

Map = function()
{

var $MapContainer;

this.initMap = function($container)
{
$MapContainer = $container;
}

this.setZoomButtons = function(mapImage)
{
if(mapImage != "map_noZoom.jpg")
{
$MapContainer.append("<div id='mapZoomIn' class='MapZoomInButton' OnClick='Star.Bus.fire(\"zoomIn\",1)'>+</div>");
$MapContainer.append("<div id='mapZoomOut' class='MapZoomOutButton' OnClick='Star.Bus.fire(\"zoomOut\",-1)'>-</div>");
}
else
{
// I've tried all 3 ways below to have the zoom buttons removed - none successful
// Only showing the zoom in button for the example
$MapContainer.remove("#mapZoomIn");
$MapContainer.remove(".MapZoomInButton");
$MapContainer.remove("<div id='mapZoomIn' class='MapZoomInButton' OnClick='Star.Bus.fire(\"zoomIn\",1)'>+</div>");
}
}
}

如果我第一次输入的 map 没有缩放按钮 (map_noZoom.jpg),则缩放按钮不存在。我在游戏中切换具有不同 map 的区域,并且出现缩放按钮。如果我返回到 map_noZoom.jpg map 区域,按钮不会被删除。我已经尝试了上面看到的三种不同的方法来删除按钮,但没有任何反应。

是否有另一种方法来删除()(不是在这里寻找更干净的解决方案,只是一种完成这项工作的方法!)还是我做错了什么?

最佳答案

您对选择器传递给 .remove([selector]) 的内容感到困惑做。它与您调用它的元素的子元素不匹配,而是充当您调用它的选定元素的过滤器,因此 $MapContainer.remove("#mapZoomIn"); 会删除id 为 mapZoomIn 的所有 $MapContainer 元素;

您需要做的是首先找到该元素,然后将其删除:

$MapContainer.find('#mapZoomIn').remove();

关于javascript - 追加后删除并不是删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com