在我的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)
任何线索?提前谢谢。
答案 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,我所做的就是检查你正在使用的功能的文档,你问题的答案就在第一行(尽管我可以看到你可能会错过它,如果你确实阅读了文档)。
希望这有帮助。