Prototype 原型问题与替换

Prototype 原型问题与替换,prototype,replace,Prototype,Replace,在我的html页面中,我有以下内容: <div id="rub"> Select at least one Rub </div> 这很好,但是当第二个事件被触发时,在我的代码中 if ( some other condition ... ) $('rub').replace("Selected at least one item:"); 这就是错误所在 $("rub") is null 就好像在第一次更换后,摩擦参考丢失了一样。(还尝试了Element

在我的html页面中,我有以下内容:

<div id="rub">
    Select at least one Rub
</div>
这很好,但是当第二个事件被触发时,在我的代码中

if ( some other condition ... )
  $('rub').replace("Selected at least one item:");
这就是错误所在

 $("rub") is null
就好像在第一次更换后,摩擦参考丢失了一样。(还尝试了Element.replace,结果相同)

有什么线索吗?提前谢谢。

你会得到

$("rub") is null
因为此时您正试图操纵一个不再存在的元素,因为您将其替换为文本节点

当你打电话的时候

$("rubs").replace("Rubs selected:");
您正在获取一个ID为“rubs”的DIV元素,并将其替换为一个没有ID的文本节点

您需要使用:

$("rubs").replace("<div id='rubs'>Rubs selected:</div>");
请记住,当使用类似Prototype的JavaScript框架时,文档是您的朋友。当您在使用某个函数时遇到问题,首先应该仔细阅读该函数的文档。我一生中从未使用过Prototype,我所做的只是检查文档中您正在使用的功能,您的问题的答案就在第一行(公平地说,如果您阅读了文档,我可以看出您可能会错过它)

希望这有帮助

$("rubs").replace("<div id='rubs'>Rubs selected:</div>");
$("rubs").update("Rubs selected:");