更换原型问题

时间:2010-04-11 19:20:49

标签: prototype replace

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

<div id="rub">
    Select at least one Rub
</div>

在脚本代码中,我有

if ( some condition ... )
  $('rub').replace("Rubs selected:");

哪个工作正常,但是当我触发第二个事件时,我有

代码
if ( some other condition ... )
  $('rub').replace("Selected at least one item:");

这给出了错误

 $("rub") is null

好像第一次更换后磨损参考丢失了。 (也尝试使用具有相同结果的Element.replace)

任何线索?提前谢谢。

1 个答案:

答案 0 :(得分:1)

你得到了

$("rub") is null

因为在那时你正试图操纵一个不存在的元素,因为你用一个文本节点替换它。

当你打电话时

$("rubs").replace("Rubs selected:");

您正在使用ID为“rubs”的DIV元素,并将其替换为没有ID的文本节点。

您需要使用:

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

或者可能更好:

$("rubs").update("Rubs selected:");

请记住,在使用像Prototype这样的JavaScript框架时,文档就是你的朋友。当您遇到函数问题时,您应该首先仔细阅读该函数的文档。我从来没有在我的生活中使用Prototype,我所做的就是检查你正在使用的功能的文档,你问题的答案就在第一行(尽管我可以看到你可能会错过它,如果你确实阅读了文档)。

希望这有帮助。