Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery从服务器删除后删除元素_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Jquery从服务器删除后删除元素

Javascript Jquery从服务器删除后删除元素,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在开发一个从我的图库中删除图像的功能。在PHP方面,它可以工作。使用Jquery/Ajax,它也可以工作。但是,当我修改jquery以在图像被删除时删除元素(删除元素客户端)时,它不再工作(当我说不再工作时,它给了我代码中内置的错误函数: 此代码适用于: function deleteImage(file_name) { var r = confirm("Are you sure you want to delete this Image?") if(r == true)

我正在开发一个从我的图库中删除图像的功能。在PHP方面,它可以工作。使用Jquery/Ajax,它也可以工作。但是,当我修改jquery以在图像被删除时删除元素(删除元素客户端)时,它不再工作(当我说不再工作时,它给了我代码中内置的错误函数:

此代码适用于:

function deleteImage(file_name)
{
    var r = confirm("Are you sure you want to delete this Image?")
    if(r == true)
    {
        $.ajax({
          method: "POST",
          url: '/images/gallery/deleteImage.php',
          data: {'delete_file' :  file_name },
          success: function (response) {
             ohSnap("Image has been deleted.", "green");
          },
          error: function () {
             ohSnap("An error has occured.", "red");
          }
        });
    }
}
但是这个没有

function deleteImage(file_name)
{
    var r = confirm("Are you sure you want to delete this Image?")
    if(r == true)
    {
        $.ajax({
          method: "POST",
          url: '/images/gallery/deleteImage.php',
          data: {'delete_file' :  file_name },
          success: function (response) {
             $('#' + file_name).remove();
             ohSnap("Image has been deleted.", "green");
          },
          error: function () {
             ohSnap("An error has occured.", "red");
          }
        });
    }
}
知道为什么添加remove函数会导致错误吗?在控制台中,它没有告诉我原因,所以我迷路了

更新:

以下是其中一个元素的示例:

<div class="thumbImage" id="happy_anime_s2-1433126427.png">
<a href="images/gallery/happy_anime_s2-1433126427.png" data-featherlight="image">
<img src="images/gallery/happy_anime_s2-1433126427.png" width="200px" alt="" />
</a>
<span class="deleteImage">
<input type="hidden" value="happy_anime_s2-1433126427.png" name="delete_file" id="delete_file" />
<input type="button" value="Delete image" onclick="deleteImage('happy_anime_s2-1433126427.png');"/>
</span>
</div>

问题在于id中的
,它创建了一个类选择器。查看选择器
#happy_anime_s2-143126427.png
,它查找id为
happy_anime_s2-143126427
的元素,并具有类
png

您需要使用
\\\。
类似的方法来转义

$('#' + file_name.replace('.', '\\.')).remove();

要使用任何元字符(例如 !“#$%&'()*+,./:;?@[]^`{124;}~)作为名称的文字部分,它必须 用两个反斜杠转义:\


可能是指方法而不是methid?是的,我只是注意到了这一点,并在我的服务器上用相同的结果对其进行了更新。我将更新我的问题。生成的错误到底是什么?是否存在ID为
file\u name
的元素,或者这只是服务器上的文件名?我更新了代码,以包含一个示例of一个元素从服务器输出的html。文件名来自使用basename()的实际文件名;我还将其设置为元素的id,以尝试简化此操作。您的浏览器控制台中是否存在任何错误?太多!您是一个救生员!我可以使用一些PHP,但任何与javascript相关的东西都会让我丧命。再次感谢您!