Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 如何将两个html元素绑定在一起,当第一个元素被删除时,第二个元素也从DOM中删除_Javascript_Jquery_Html_Javascript Events - Fatal编程技术网

Javascript 如何将两个html元素绑定在一起,当第一个元素被删除时,第二个元素也从DOM中删除

Javascript 如何将两个html元素绑定在一起,当第一个元素被删除时,第二个元素也从DOM中删除,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,问题陈述如下: 我有一个复杂的html布局单页应用程序 此布局中有一个锚定标记(带有用户电子邮件的div) 当人们点击那个锚点时,应用程序显示popover Popover被渲染为“body”。我不能在锚内或锚附近渲染它,因为锚容器会切割popover,因为popover的大小比容器大 所以问题是,当锚元素从DOM中移除时,移除/隐藏popover的最佳方式是什么(不是直接移除,而是通过移除其父元素之一) 我看到两个选项-一个是设置显示的popover的间隔,以检查锚点是否仍然存在 另一种方法是

问题陈述如下: 我有一个复杂的html布局单页应用程序

此布局中有一个锚定标记(带有用户电子邮件的div)

当人们点击那个锚点时,应用程序显示popover

Popover被渲染为“body”。我不能在锚内或锚附近渲染它,因为锚容器会切割popover,因为popover的大小比容器大

所以问题是,当锚元素从DOM中移除时,移除/隐藏popover的最佳方式是什么(不是直接移除,而是通过移除其父元素之一)

我看到两个选项-一个是设置显示的popover的间隔,以检查锚点是否仍然存在

另一种方法是在显示/隐藏popover时注册/取消注册一些回调,并在单页应用程序逻辑实现中更改dom时调用它们以确保锚定标记的存在


我只是想也许有另一种方法可以实现位于不同DOM树分支中的锚点和popover之间的绑定

我建议通过给popover一个唯一的名称(可能使用每次创建popover时都会增加的javascript索引变量)并将其存储在anchor的rel属性中,将popover链接到anchor。确保锚点具有特定的类(例如“has popover”)

当要删除锚点的父元素时,请检查是否存在具有“has popover”类的子元素。使用锚点的rel属性来获取popover的元素ID,这样您也可以删除它