jquery - 如何删除使用 JQuery 创建的 DIV

标签 jquery css html dynamic

当用户点击一个对象时,我想为它生成菜单。

$(".thumbImage").click(function(e){

    var xCoord = e.pageX;
    var yCoord = e.pageY;

    var content = "<div class='thumbMenu' id='tempMenu'>THE MENU IS HERE</div>";
    $(this).after(content);

    $("#tempMenu").css("visibility","visible");
    $("#tempMenu").css("left",xCoord-30);
    $("#tempMenu").css("top",yCoord-30);
    return false;

});

现在我希望当用户拿走鼠标时,id = "tempMenu"的 div 应该被删除。如果用户点击其他 thumbImage,应该不会有问题。

这是我现在的代码:

$(".thumbImage").mouseout(function(e){
    $("#tempMenu").remove();
    return false;
});

但是好像效果不是很好。

最佳答案

您可能创建了具有相同 ID 的多个元素。 如果您有多个具有 thumbImage 类的元素,通过单击它们您可以在它们之后创建 ID 为 tempMenu 的元素。

也许你应该从创建的元素中删除 id 并像这样调用删除:

$(".thumbImage").mouseout(function(e){
    $(this).next(".thumbMenu").remove();
    return false;
});

您也可以像这样创建您的 div:

var myDiv = $("<div/>", {
  "class" : "thumbMenu",
  text : "THE MENU IS HERE",
  "visibility": "visible",
  "left": xCoord-30,
  "top" : yCoord-30
})

$(this).after(myDiv);

Link to the documentation

关于jquery - 如何删除使用 JQuery 创建的 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17630816/

相关文章:

javascript - 在悬停时添加和删除 div

html - 为什么 YouTube Player API 在播放某些视频时会显示 "This video is unavailable."?

javascript - jquery获取动态span id值

javascript - Bootstrap Validator 提交模式框不起作用

jQuery 验证 TextArea 中的 HTML

javascript - 使用 javascript 更新验证时的 html css 代码

html - 添加文本后,div 不会内联

javascript - 如何通过双击操作将光标(插入符号)放入标签中?

javascript - 无法调用未定义的方法 'toLowerCase'

html - 带有 HTML/CSS 导航错误的 PrimeFaces