Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 如何专门删除动态添加的元素?_Javascript_Php_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Javascript 如何专门删除动态添加的元素?

Javascript 如何专门删除动态添加的元素?,javascript,php,jquery,html,twitter-bootstrap,Javascript,Php,Jquery,Html,Twitter Bootstrap,我知道这个问题不是很容易理解,也可能是重复的,但我找不到我的问题的具体解决方案,所以请允许我详细说明 我在文章缩略图中使用引导显示了很多图像 我正在使用PHP从数据库中获取值 我使用foreach循环并动态添加元素 下面是一个片段: foreach($cursor作为$document) { foreach($document[“Pics”]作为$photos) { 回声“ "; } } 这段代码从数据库中获取所有图像,并将其显示在我的页面上 现在这是添加部分,我在删除特定图像时遇到问题。我正

我知道这个问题不是很容易理解,也可能是重复的,但我找不到我的问题的具体解决方案,所以请允许我详细说明

我在文章缩略图中使用引导显示了很多图像 我正在使用PHP从数据库中获取值 我使用foreach循环并动态添加元素 下面是一个片段:

foreach($cursor作为$document)
{
foreach($document[“Pics”]作为$photos)
{
回声“
";
}
}
这段代码从数据库中获取所有图像,并将其显示在我的页面上

现在这是添加部分,我在删除特定图像时遇到问题。我正在使用右键单击上下文菜单,但我无法获得要删除的特定元素,因为没有id或类名,因为我不知道将添加多少图像

以下是我的上下文菜单片段:

$(function() {
  $.contextMenu({
    selector: "#hasMenu",
    callback: function(key, options) {
      if (key == "delete") {
        var m = "clicked: " + key;
        window.console && console.log(m) || alert(m);
      }

      if (key == "open") {
        var m = "clicked: " + key;
        window.console && console.log(m) || alert(m);
      }
    },
    items: {
      "open": {
        name: "Open", 
        icon: "edit"
      },
      "delete": {
        name: "Delete", 
        icon: "delete"
      },
    }
  });

  $('.context-menu-one').on('click', function(e) {
    console.log('clicked ', e);
  })
});
通过此操作,我添加了一个右键单击上下文菜单,其中显示删除和打开选项

现在,当我点击删除时,我想获得我想删除的特定图像(文章)的ID


我希望我的问题陈述是清楚的…

首先,您的PHP循环正在生成大量HTML元素,所有这些元素都具有相同的
hasMenu
id,这是无效的。你应该把它改成一个类

然后,可以将上下文菜单插件附加到具有该类的元素。最后,您可以在按钮上放置的每个回调函数中使用
this
关键字来引用首先触发菜单显示的元素。试试这个:

$.contextMenu({
选择器:“.hasMenu”,
项目:{
“开放”:{
名称:“开放”,
图标:“编辑”,
回调:函数(键,opt){
$(this.find('span').show();
}
},
“删除”:{
名称:“删除”,
图标:“删除”,
回调:函数(键,opt){
$(this.remove();
}
},
}
});
.hasMenu span{display:none;}

右键单击我#1打开的内容。。。
右键单击我#2打开的内容。。。
右键单击我#3打开的内容。。。
右键单击我#4打开的内容。。。

右键单击我#5打开的内容…
您正在使用哪个上下文菜单插件?一般来说,提供给回调的事件应该告诉您上下文菜单在这个事件上引发了哪个元素……谢谢。我为你添加了一个答案哇,伙计,现在它工作得很好。。。。谢谢你,我花了一整天的时间在这个…:PRory McCrossan先生,我面临着另一个问题,重新编写类似的$(文档)。就绪(function(){$(“.comments”)。单击(function(){每个$(这个)我想要$(“#panel”)。滑动切换(“slideToggle”);});你能告诉我怎么做吗???我只是不能投票给我的答案我的排名太低了。。。但我点击了正确的标记。。。