Javascript 从DOM中删除唯一ID

Javascript 从DOM中删除唯一ID,javascript,prototypejs,Javascript,Prototypejs,我在一个网站上工作,它实现了一个非常时髦的模式框,现在它已经超出了实现新功能的范围,所以我正在尽我最大的努力使用当前存在的功能。它的工作方式是每次创建新的模式窗口时,都会为其分配一个唯一的ID。。比如说 <div id="window_1308937649703" class="dialog"> 我试图从另一个点击事件中破坏窗口,但我不确定实现这一点的最佳方法是什么。我想我可以使用dialog类来提取相关联的唯一的#window uid。是否还有一些javascript可以用来获取

我在一个网站上工作,它实现了一个非常时髦的模式框,现在它已经超出了实现新功能的范围,所以我正在尽我最大的努力使用当前存在的功能。它的工作方式是每次创建新的模式窗口时,都会为其分配一个唯一的ID。。比如说

<div id="window_1308937649703" class="dialog">

我试图从另一个点击事件中破坏窗口,但我不确定实现这一点的最佳方法是什么。我想我可以使用dialog类来提取相关联的唯一的#window uid。是否还有一些javascript可以用来获取elementsbyclassname('dialog'),并将其从DOM中完全删除?如果有帮助的话,我也可以使用原型库。我无法理解实际的模态脚本,所以我希望能找到一些解决方案

要从dom中完全删除该对话框,请使用:

function removeNodeByID ( nodeId){
  var node = document.getElementById( nodeId );
  node.parentElement.removeChild(node);
};


这样,您只需要您在问题中提到的对话框的ID即可检索。

要从dom中完全删除该对话框,请使用:

function removeNodeByID ( nodeId){
  var node = document.getElementById( nodeId );
  node.parentElement.removeChild(node);
};


通过这种方式,您只需要您在问题中提到的对话框的ID即可检索。

对于原始JavaScript中的GetElementsByCassName(),您可以做的不多(除了滚动您自己的),尽管Prototype对此有一些好处


另一种可能的方法:关闭按钮是否具有通用ID?如果是这样的话,并且如果您能够添加插件(对不起,我从未使用过Prototype),那么您可以看看这个,了解在选择关闭按钮后如何触发该按钮上的单击事件。

对于原始JavaScript中的:
GetElementsByCassName()
,您可以做的不多(除了滚动自己的),虽然原型对此有一些好处


另一种可能的方法:关闭按钮是否具有通用ID?如果是这样的话,如果您能够添加插件(对不起,我从未使用过Prototype),您可以查看以下内容,了解选择关闭按钮后如何触发该按钮上的单击事件。

由于您有Prototype,您可以简单地使用:

$$('.dialog').first().remove();
此外,如果您使用的是prototype,您可能应该避免onClick,而使用事件观察程序:

<button id="dialogremover">Remove</button>
<script type="text/javascript">
$('dialogremover').observe('click', function(ev) {
  ev.stop();
  $$('.dialog').first().remove();
});
</script>
删除
$('dialogremover')。观察('click',函数(ev){
ev.stop();
$$('.dialog').first().remove();
});
这有两个好处:

  • 这对眼睛容易多了
  • 可以将JS放入外部脚本中,以清理HTML

由于您拥有原型,您可以简单地使用:

$$('.dialog').first().remove();
此外,如果您使用的是prototype,您可能应该避免onClick,而使用事件观察程序:

<button id="dialogremover">Remove</button>
<script type="text/javascript">
$('dialogremover').observe('click', function(ev) {
  ev.stop();
  $$('.dialog').first().remove();
});
</script>
删除
$('dialogremover')。观察('click',函数(ev){
ev.stop();
$$('.dialog').first().remove();
});
这有两个好处:

  • 这对眼睛容易多了
  • 可以将JS放入外部脚本中,以清理HTML

我不明白。。问题的一部分是我不知道如何获得生成的唯一id,那么我如何才能完成这一次单击?我一定是误解了,我以为你说你可以获得id,但我不明白。。问题的一部分是我不知道如何获取生成的唯一id,因此如何才能在单击时执行此操作?我一定误解了,我以为您说过可以获取id。与div相关的关闭按钮在哪里?您是否可以使用“this”,然后使用parentNode()向后走,直到找到它?与div相关的close按钮在哪里?您是否可以使用“this”,然后使用parentNode()向后走,直到找到它?